Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 如何将多个隐藏项添加到创建表单中_Ruby On Rails 4 - Fatal编程技术网

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

Ruby on rails 4 如何将多个隐藏项添加到创建表单中,ruby-on-rails-4,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_

我有一个表单,用户可以在其中选择日期和地点来创建新的预订。
每个预订可以有几个景点

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
类保留:点
结束
类定位:spotations
结束
现在我给我的用户一个选择列表来选择一个地点。 该列表中仅显示可用的点。(仅限当天未预订该项目的景点)

true},{class:“表单控制点\选择”,id:“保留点\ id”,name:“保留点\ id]”,required:“required”}%>
一切正常

但我让我的模型接受了几个点: 我想预订由用户选择的地点,并自动预订之前的地点(用于旅行时间)

我不知道如何在我的控制器里做到这一点

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

有人有主意吗?
谢谢你,

我想你的想法更难。。 “n”是用户选择的号码。 然后,可以在控制器中创建“n-1”

在操作之前,始终查看所有传递的参数, 使用


在考虑如何从该散列类型参数中获取所需内容后,您可以在创建操作中创建
n-1

,找到点n-1并将其添加到model.Thx以获得答复。一旦发送到创建进程,我如何访问我的:spot_id参数(散列)?(获得n-1)然后我如何将该点(我找到的n-1)再次放入创建过程中?谢谢你的回答。我明白什么是n和n-1。但我有几个问题:首先,我如何获取散列参数,然后我知道如何获取n-1,最后如何将新的n-1值注入到创建问题之前要发送的散列中。@Devlesch:您只需调用“params”。
<%= 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" } %>