Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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 RubyonRails-大规模分配问题_Ruby On Rails_Associations_Mass Assignment - Fatal编程技术网

Ruby on rails RubyonRails-大规模分配问题

Ruby on rails RubyonRails-大规模分配问题,ruby-on-rails,associations,mass-assignment,Ruby On Rails,Associations,Mass Assignment,Begginer Running rails 3.2.2,Ruby 1.8.7 我有两个模型,一个酒店(由脚手架创建)和一个设施(带空控制器)。 我可以设置1对1关联和siplaying字段,但似乎无法将其插入数据库。 我得到: ActiveModel::MassAssignmentSecurity::Error in HotelsController#create Can't mass-assign protected attributes: @hotel app/controllers/ho

Begginer Running rails 3.2.2,Ruby 1.8.7

我有两个模型,一个酒店(由脚手架创建)和一个设施(带空控制器)。 我可以设置1对1关联和siplaying字段,但似乎无法将其插入数据库。 我得到:

ActiveModel::MassAssignmentSecurity::Error in HotelsController#create
Can't mass-assign protected attributes: @hotel
app/controllers/hotels_controller.rb:48:in 'new'
app/controllers/hotels_controller.rb:48:in 'create'
-->我的模型是:

class Hotel < ActiveRecord::Base
  has_one :facility, :dependent => :destroy
  accepts_nested_attributes_for :facility, :allow_destroy => true
  attr_accessible :name, :rating, :recommended, :facility_attributes
end

class Facility < ActiveRecord::Base
  belongs_to :hotel
  attr_accessible :concierge, :hotel_id, :room24h
end
最后,我的表单html是:

<%= form_for(@hotel) do |f| %>

<div class="field">
    <%= f.label :name %><br />
    <%= f.text_field :name %>
  </div>
  <div class="field">
    <%= f.label :rating %><br />
    <%= f.number_field :rating %>
  </div>
  <div class="field">
    <%= f.label :recommended %><br />
    <%= f.check_box :recommended %>
  </div>
  <br />

    <h2>Hotel Facilities</h2>

    <%= f.fields_for :@hotel do |facility_fields| %>
 <div class="field">
    <%= facility_fields.label :room24h, "24h Room Service:" %>
    <%= facility_fields.check_box :room24h %>
  </div>
 <div class="field">
    <%= facility_fields.label "Concierge:" %>
    <%= facility_fields.check_box :concierge %>
  </div>
<%end%>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>





酒店设施
我在创作时所犯的错误是毫无疑问的。我应该添加更多的代码吗?酒店控制器?可能是什么?另外,我还需要为编辑/更新做哪些代码

提前谢谢,对不起,我是新来的。

改变

attr_accessible :concierge, :hotel_id, :room24h


设施

中,尽管我花了很多时间,但我改变了与HABTM的关系,改变了模型和控制器,它工作了。 我相信这是因为它是一种非同寻常的关系。这需要一种N-N关系

attr_accessible :concierge, :hotel_id, :room24h
attr_accessible :concierge, :hotel_id, :room24h, :hotel