我有以下关联设置:
class Image < ActiveRecord::Base
belongs_to :imageable, polymorphic: true
attr_accessible :photo
has_attached_file :photo, :styles => { :small_blog => "250x250#", :large_blog => "680x224#", :thumb => "95x95#" }
end
class Post < ActiveRecord::Base
has_many :images, as: :imageable
accepts_nested_attributes_for :images
attr_accessible :comments, :title, :images_attributes
end
例如,要在我的索引页面中访问帖子的图像,我会将我的代码放在一个块中并循环使用each
:
<% @posts.each do |p| %>
<% p.images.each do |i| %>
<%= image_tag(i.photo.url(:large_blog), :class => 'image') %>
<% end %>
<% end %>
因此,当在我的显示视图中访问该帖子时,我只访问一条记录,我认为我可以访问这样的图像:
<%= image_tag(@post.image.photo.url(:large_blog), :class => 'image') %>
但似乎我不能,因为我收到如下错误:未定义的方法“图像”。
我没有在这里考虑一些真正基本的东西,并希望有人能指出我正确的方向。