我目前正在嘗試製作一個名爲countcash的表單,該表單允許用戶輸入實際數量的宿舍,硬幣,鎳幣,便士,二十幾歲,五十幾歲,然後是貨幣值的現金箱中的任何其他物品,然後當他們提交時,我想要總計這些值並設置我當前班次記錄的cashstart字段。Rails更新多個字段的單個屬性
真正的問題是,我不確定我的窗體應該是什麼樣子,以及在這種情況下應如何設置控制器/模型。
我保存在一個session[:shift_id]
變量,並與id
移位一個shift_id是,我想與計算cashstart修改的轉變。
如果我想正確地關注MVC,並且如何設置控制器/模型以使用計算值更新數據庫,<%= form_for %>
標記需要看起來像什麼?我應該怎樣設定路線?我無法在堆棧溢出或其他軌道論壇上找到類似的東西(儘管您認爲通過多個文本字段修改單個屬性將非常直接)
就像一個參考,這是表單我以前使用(無濟於事)
應用程序/視圖/ 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不會在此刻做任何事情,因爲我不知道怎麼樣點擊提交按鈕後,我需要去更新屬性
def countcash
@shift = Shift.find(session[:shift_id])
redirect_to(login_path)
end
單個字段不存在於模型/數據庫中,只有cashstart字段,預期爲十進制值。這是我真正的問題 - 在用戶點擊提交按鈕後,如何訪問宿舍,鎳幣,硬幣等? – jyanks
添加了一個潛在的解決方案。 – Jaryl
編輯:解決!我使用if檢查來查看params.has_key?(:quarters)是否使我的控制器的更新工作適用於我的countcash表單以及其他工作。非常感謝你的幫助! – jyanks