2012-05-09 69 views
0

我正在使用rails 3.2.3,並且遇到大規模分配問題。Ruby on Rails - Has_many,Mass Assignment issue

我有一個酒店模型,我已經試過幾乎所有的東西,仍然可以得到大量assignement錯誤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 

感謝您的想法

+0

它在哪裏拋出的問題? – TheIrishGuy

+0

當我提交表格。 「無法批量分配受保護的屬性:hphoto」 – Silver

回答

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 %> 
+0

感謝您使用':hphotos_attributes'。我錯過了複數形式,在我看來,我有'f.fields_for:hphoto',我需要放入':hphotos'。感謝您的輸入。問候。 – Silver