2012-05-18 2 views
0

다른 게시물을보고 내가 뭘 잘못하고 있는지 알 수 없습니다. 이 오류 받고 있어요 : 여기 accepts_nested_attributes_for Formtastic 중첩 된 양식

ActiveModel::MassAssignmentSecurity::Error in ProjectsController#create 

Can't mass-assign protected attributes: blog_post 

내 두 모델과 내 양식됩니다. 나는 프로젝트 컨트롤러에 있어야 할 특별한 것이 없다는 인상을 받고있다. 이 문제를 일으킬 수있는 프로젝트 나 blog_post 컨트롤러가 있습니까?

project.rb

class Project < ActiveRecord::Base 
    attr_accessible :name, :category_id, :user_id, :goal, :about, :headline, :image_url, :about_html, :blog_post_attributes 

    has_many :blog_posts, :dependent => :destroy 
    accepts_nested_attributes_for :blog_posts 
end 

blog_post.rb

class BlogPost < ActiveRecord::Base 
    attr_accessible :project_id, :user_id, :title, :blog_text, :commentable, :private 
    belongs_to :project 
    has_many :blog_post_replies, :dependent => :destroy 
end 

프로젝트/_new_form.html.erb

<%= semantic_form_for @project do |f| %> 
<%= f.semantic_errors :state %> 

<%= f.input :name, :as => :string %> 
<%= f.input :headline, :as => :string %> 
<%= f.input :about %> 
<%= f.input :image_url, :as => :file %> 
<%= f.input :category , :include_blank => false%> 
<div class="well"> 
<%= f.semantic_fields_for :blog_post do |blog_post| %> 
    <%= blog_post.input :title, :as => :string, :label => "First Blog Post Title" %> 
    <%= blog_post.input :blog_text, :as => :text, :label => "First Blog Post Text" %> 
<% end %> 
</div> 
<%= f.action :submit, :as => :button %> 
<% end %> 

편집 내가 제안 Formtastic 형식을 사용하는 경우 :

<%= f.input :title, :for => :blog_post %> 
<%= f.input :blog_text, :for => :blog_post %> 

이 오류가 발생합니다. 이는하게 나를 전혀 중첩 된 속성을 확인할 수 없습니다 생각 :

NoMethodError in Projects#new 

undefined method `title' for #<Project:0x007fb044745f58> 

답변

0

을 오류가 여기에 있습니다 :

<%= f.semantic_fields_for :blog_post do |blog_post| %> 

그것은해야한다 :

<%= f.semantic_fields_for :blog_posts do |blog_post| %> 

(: blog_posts 대신 : blog_post)

+0

': blog_post'를': blog_posts'로 변경하면 여전히 똑같은 오류가 발생합니다. –

+0

정말요? ave accepts_nested_attributes_for : 프로젝트의 blog_posts? – Salil

+0

예. 그리고 재미있게 설정하면 :'config.active_record.whitelist_attributes = false'는 오류를 수정하지 않습니다. –

관련 문제