【发布时间】:2017-09-08 15:35:53
【问题描述】:
我正在为酒店构建一个预订系统并创建了一个价格模型,房间模型将其作为嵌套属性接受。到目前为止一切顺利,一切正常。但是,由于我想提供能够保持价格增量的机会,因此我需要在我的价格模型中使用响应天数。所以基本上,价格:50、80、120 以及天数:1、2、3 ...好的,所以现在我的问题是:如何实现天数自动保存在价格表中,以便用户只需要输入特定日期的价格。
我试图让它与提交到天数列的隐藏字段一起工作,但我无法修复它。由于控制器生成了 20 个增量,因此我使用 fields_for 帮助器生成的索引进行了尝试。
这是我的控制器的相关部分:
def new
@room = current_user.rooms.build
20.times do
increment = @room.increments.build
end
end
这是我的观点:
<%= form_for @room do |f| %>
#...
<%= f.fields_for :increments do |ff| %>
<%= ff.text_field :price, placeholder: 'price' %>
<%= ff.hidden_field :days, value: 'index' %>
对于生成 20 个价格字段的控制器,您有什么想法可以让我的 hidden_field 的值等于 1...20?我是否需要编写一个表单助手,如果是,我怎样才能让它添加天数?我的方法完全错了吗?还有更明显的方法可以实现相同的功能吗?任何帮助都非常感谢!
【问题讨论】:
标签: ruby-on-rails ruby database html erb