これはやや単純なはずですが、関連付けを把握することはできません。
nested_form と paperclip を使用しています。すべての画像と投稿モデルを保存するための写真というモデルがあります。関連する投稿に関連付けられている写真を表示しようとしていますが、ビューをレンダリングするときに「未定義のメソッド アバター」が表示されます。
class Post < ActiveRecord::Base
has_many :photos, :dependent => :destroy
accepts_nested_attributes_for :photos
attr_accessible :title, :comments, :photo_id, :avatar, :photos_attributes
end
Class Photo < ActiveRecord::Base
belongs_to :post
attr_accessible :avatar, :post_id
has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" }
end
コントローラ
def new
@post = Post.new
@post.photos.build
end
だから私は、投稿が作成されると、投稿と写真モデルの間の関連付けが行われるという印象を受けていますか? そうですか?
したがって、ビューでこれを呼び出すと、未定義のメソッドが取得されます。どこが間違っているのか誰でもアドバイスできますか
<% @posts.each do |f| %>
<ul>
<li><%= f.title %></li>
<li><%= f.department.name %></li>
<li><%= image_tag f.avatar.url(:thumb) %></li>
<li><%= link_to "Delete Post", post_path(f.id), :confirm => "Are you sure?", :method => :delete %></li>
</ul>
<% end %>
私が試してみました
<%= image_tag f.photo.avatar.url(:thumb) %>
しかし、それもうまくいきません