私は現在、四角、十字、ニッケル、ペニー、20代、私が現在のシフトレコードのキャッシュスタートフィールドを設定したいと思っています。複数のフィールドを持つ単一の属性を更新する
本当の問題は、私のフォームがどのように見えるのか、コントローラ/モデルがこのインスタンスでどのように設定されるのかが分かりません。
私はsession[:shift_id]
変数に保存されているshift_idを持っています。そのid
のシフトは、計算されたキャッシュスタートで変更したいシフトです。
<%= form_for %>
タグはMVCに正しく従いたいと思うのですが、コントローラ/モデルを設定して計算された値でデータベースを更新するにはどうすればよいですか?そして、私はどのように経路を設定すべきですか?私はスタックオーバーフローや他のレールフォーラムでこれを見つけることはできません(複数のテキストフィールドを使って単一の属性を変更するのはかなり簡単だと思いますが)
参考のため、私はどのようにわからないので、ここで
アプリ/ビュー/ countcash.html.erb
<%= form_for @shift do |f| %>
<table>
<tr>
<th>Coins</th>
<th></th>
</tr>
<tr>
<td>Quarters: </td>
<td><%= f.text_field :quarters %><br /></td>
</tr>
<tr>
<td>Dimes: </td>
<td><%= f.text_field :dimes %><br /></td>
</tr>
<tr>
<td>Nickels: </td>
<td><%= f.text_field :nickels %><br /></td>
</tr>
<tr>
<td>Pennies: </td>
<td><%= f.text_field :pennies %><br /></td>
</tr>
<tr>
<th>Bills</th>
<th></th>
</tr>
<tr>
<td>Twenties: </td>
<td><%= f.text_field :twenties %><br /></td>
</tr>
<tr>
<td>Tens: </td>
<td><%= f.text_field :tens %><br /></td>
</tr>
<tr>
<td>Fives: </td>
<td><%= f.text_field :fives %><br /></td>
</tr>
<tr>
<td>Ones: </td>
<td><%= f.text_field :ones %><br /></td>
</tr>
<tr>
<th>Other</th>
<th></th>
</tr>
<tr>
<td>Value (in $): </td>
<td><%= f.text_field :others %><br /></td>
</tr>
</table>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
とは、現時点では何もしない私のshifts_controllerです(無駄に)以前に使用していました送信ボタンをクリックした後に属性を更新する必要があります。
このようかどうかを判断するには、コンソールで<%= form_for @shift, :url => countcash_shift_path(@shift) do |f| %>
疑わしい場合は、実行すくい路線:
def countcash
@shift = Shift.find(session[:shift_id])
redirect_to(login_path)
end
個々のフィールドはモデル/データベースには存在しません。小数点以下の桁数のフィールドが必要です。これは私の本当の問題です。ユーザーが送信ボタンを押した後に四半期、ニッケル、ダイムなどにアクセスするにはどうすればよいですか? – jyanks
潜在的な解決策に追加されました。 – Jaryl
編集:解決済み! ifチェックを使用してparams.has_key(:四半期)が私のcountcashフォームのコントローラの更新を他のものと同様にするかどうかを確認しました。手伝ってくれてどうもありがとう! – jyanks