Я пытаюсь создать теги для постов, следуя 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
просмотры / сообщения / _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 %>
Вид / метки / _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 %>
Но я получаю эту ошибку при попытке создать теги:
Невозможно массово назначить защищенные атрибуты: tags_attributes Rails.root:
/ Главная / Алекс / Рельсы / r7
Трассировка приложений | Framework Trace | Полная трассировка
app / controllers / posts_controller.rb: 25: запрос `create '
Параметры:
{ "utf8" => "✓",
"Authenticity_token" => "VF / qlfZ4Q5yvPY4VIbpFn65hoTAXdEa4fb4I1Ug4ETE =",
"post" => {"title" => "post номер 5", "content" => "post номер 5 post
номер 5 сообщение номер 5 "," tags_attributes "=> {" 0 "=> {" name "=>" еда,
напитков "}}}," commit "=>" Создать сообщение "}
Есть предложения, чтобы это исправить?