Ruby on Rails - Has_many,Mass Assignment问题

时间:2012-05-09 15:39:10

标签: ruby-on-rails has-many

我正在使用rails 3.2.3并且遇到大规模分配问题。

我有一个酒店模型和一个Hphoto模型(与回形针集成)

我已经尝试了几乎所有的东西,但仍然会出现质量分配错误。

Can't mass-assign protected attributes: hphoto

请看一下。

酒店模特

has_many :hphotos, :dependent=>:destroy
accepts_nested_attributes_for <other models>, :hphotos
attr_accessible: <other attributes>, :hphoto_attributes

Hphoto模型

belongs_to :hotel
has_attached_file :photo,
:path => ":rails_root/public/system/:attachment/:id/:style/:filename",
:url => "/system/:attachment/:id/:style/:filename"

attr_accessible :hphoto_attributes

validates_attachment_presence :photo
validates_attachment_size :photo, :less_than => 2.megabytes
validates_attachment_content_type :photo, :content_type=> ['image/jpeg', 'image/png']

我的酒店管理员:

def new
    @hotel = Hotel.new
    @hotel.hphotos.build

    respond_to do |format|
      format.html 
      format.json { render :json => @hotel }
    end
  end

def create
    @hotel = Hotel.new(params[:hotel])
    <original scaffold code>
end

感谢您的想法

1 个答案:

答案 0 :(得分:0)

声明必须使用复数:

attr_accessible: <other attributes>, :hphotos_attributes

On Rails 3.2.3我的erb看起来像这样:

<%= f.fields_for :hphotos, @hotel.hphotos do |photo_form| %>  
    <%= photo_form.label :size %>  
    <%= photo_form.text_field :size %>  
<% end %>