所以我有专辑和专辑标签。一张专辑可以有很多专辑标签,所以我修改了模型:
class Album < ActiveRecord::Base
...
has_many :album_tags
end
class AlbumTag < ActiveRecord::Base
attr_accessible :album_id, :album_tag_id, :tag_name
belongs_to :album
end
我还将 :tag_name 添加到专辑的 attr_accessible 中。但是现在我需要将那些 tag_name 插入到相册视图的 _form.htl.erb 中
我用嵌套的资源做了几次,但这次不同了,我的想法没有成功。在我的新方法中,我添加了
@album_tag = AlbumTag.new
在我的 _form.html.erb 中,它看起来像这样:
<%= f.label :tag_name %><br />
<%= f.text_field :tag_name %>
日志说:
ActionView::Template::Error (undefined method `tag_name' for #<Album:0xe7331c50>):
所以我尝试在上面添加album_tag 对象:
<%= form_for([@user, @album, @album_tag]) do |f| %>
然后我得到:
ActionView::Template::Error (undefined method `user_album_album_tags_path' for #<#<Class:0xe755de48>:0xe755b4cc>):
所以我的做法是插入一个带有 tag1、tag2、tag3 等值的 form_field。之后我想把它们捡起来,并将它们插入到每个中。但首先我必须让该字段显示没有错误。我怎么做 ?
编辑:我只是试图添加
accepts_nested_attributes_for :album_tags
进入我的专辑模型。没有成功