I am trying to create tags for posts following the Rails Guide :
tag.rb:
class Tag < ActiveRecord::Base attr_accessible :name belongs_to :post end
post.rb:
class Post < ActiveRecord::Base attr_accessible :title, :content, :tags validates :title, :presence => true, :length => { :maximum => 30 }, :uniqueness => true validates :content, :presence => true, :uniqueness => true belongs_to :user has_many :comments, :dependent => :destroy has_many :votes, :as => :votable, :dependent => :destroy has_many :tags accepts_nested_attributes_for :tags, :allow_destroy => :true, :reject_if => proc { |attrs| attrs.all? { |k, v| v.blank? } } end
views / posts / _form.html.erb:
<% @post.tags.build %> <%= form_for(@post) do |post_form| %> <%= render 'shared/error_messages' %> <div class="field"> <%= post_form.label :title %><br /> <%= post_form.text_field :title %> </div> <div class="field"> <%= post_form.label :content %><br /> <%= post_form.text_area :content %> </div> <h2>Tags</h2> <%= render :partial => 'tags/form', :locals => {:form => post_form} %> <div class="actions"> <%= post_form.submit %> </div> <% end %>
opinions / tags / _form.html.erb:
<%= form.fields_for :tags do |tag_form| %> <div class="field"> <%= tag_form.label :name, 'Tag:' %> <%= tag_form.text_field :name %> </div> <% unless tag_form.object.nil? || tag_form.object.new_record? %> <div class="field"> <%= tag_form.label :_destroy, 'Remove:' %> <%= tag_form.check_box :_destroy %> </div> <% end %> <% end %>
But I get this error when I try to create tags:
It is not possible to assign protected attributes in bulk: tags_attributes Rails.root: / Home / Alex / Rails / r7
Application Trace | Frame Track | Full trace app / controllers / posts_controller.rb: 25: in `create 'Request
Parameters:
{"utf8" => "✓", "Authenticity_token" => "VF / qlfZ4Q5yvPY4VIbpFn65hoTAXdEa4fb4I1Ug4ETE =", "post" => {"title" => "post number 5", "content" => "post number post post number 5, number 5 "," tags_attributes "=> {" 0 "=> {" name "=>" food, drinks "}}}," commit "=>" Create message "}
Any suggestions for fixing this issue?