0

だから私はアルバムとalbum_tagsを持っています。モデルを変更するために、1 つのアルバムに多くの album_tag を含めることができます。

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

また、アルバムの attr_accessible に :tag_name を追加しました。しかし今、これらのtag_nameをalbums_viewsの_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 を挿入することでした。その後、それらをピックアップして、 for each に挿入したいと思います。しかし、まず、そのフィールドをエラーなしで表示する必要があります。それ、どうやったら出来るの ?

編集:追加しようとしました

accepts_nested_attributes_for :album_tags

私の albums_model に。成功せずに

4

1 に答える 1

1

このRailsキャストは、ネストされたフォームをかなりうまく通過します。

http://railscasts.com/episodes/196-nested-model-form-part-1

パート2:

http://railscasts.com/episodes/197-nested-model-form-part-2

私が見ることができることから、あなたは使用しているはずです。

f.fields_for :album_tags do |builder|
于 2012-10-31T14:19:11.663 に答える