【发布时间】:2011-08-09 04:41:35
【问题描述】:
我目前正在尝试制作一个名为 countcash 的表格,该表格允许用户输入硬币的实际数量、硬币、五分钱、便士、二十、十、五、一,然后是现金中任何其他物品的货币价值框,然后当他们点击提交时,我想汇总这些值并设置我当前班次记录的 cashstart 字段。
真正的问题是我不确定我的表单应该是什么样子,以及在这种情况下应该如何设置控制器/模型。
我有一个 shift_id 保存在 session[:shift_id] 变量中,带有 id 的班次是我想用计算出的 cashstart 修改的班次。
如果我想正确遵循 MVC,<%= form_for %> 标记需要是什么样的?如何设置控制器/模型以使用计算值更新数据库?我应该将路线设置为什么?我在堆栈溢出或其他 Rails 论坛上都找不到类似的东西(尽管您认为通过多个文本字段修改单个属性会非常简单)
仅供参考,这是我之前使用的表格(无济于事)
app/views/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
【问题讨论】:
标签: ruby-on-rails forms