如何将多个隐藏项添加到创建表单中

时间:2014-10-11 19:16:38

标签: ruby-on-rails-4

我有一个表格,我的用户可以选择日期和地点来创建新的预订 每个预订都可以有几个点。

class Reservation < ActiveRecord::Base
    has_many :spotations
    has_many :spots, :through => :spotations
end 
class Spotation < ActiveRecord::Base
        belongs_to :reservation
        belongs_to :spot
end
class Spot < ActiveRecord::Base
    has_many :spotations
    has_many :reservations, :through => :spotations
end

现在我给我的用户一个select_list来选择一个点。 该列表中仅显示可用的点。 (仅限该项目当天未预订的景点)

<%= f.collection_select :spot_ids, @availablespots, :id, :name, {:prompt => true}, {class: "form-control  spot_selection", id:"reservation_spot_ids", name:"reservation[spot_ids]", required:"required" } %>

一切都运作良好。

但我让我的模特接受了几个地方: 我想预订用户选择的地点和之前的地点(旅行时间)。

我不知道如何在我的控制器中执行此操作。

我的所有景点都是按照ID排序的。 (1到20)如果用户选择可用的地点id = 4,我也想预订id = 3。

有人有想法吗? 谢谢,

1 个答案:

答案 0 :(得分:0)

我认为你正在考虑更困难的方式.. &#39; n&#39;是用户选择的号码。 然后,&#39; n-1&#39;可以在你的控制器中创建。

在操纵之前总是看到所有传递的参数, 使用<% logger.debug "PARAM CHECKER: #{params.inspect}" %>

在考虑如何从该哈希类型参数中获得所需内容后,您可以创建n-1