在视图中访问多态属性

时间:2013-08-08 10:20:40

标签: ruby ruby-on-rails-3 associations paperclip

试图找出这个小问题,我终于让我的多态关联起作用,但现在似乎无法弄清楚如何在保存记录后在视图中显示图像。

我的设置

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

所以在我看来,我现在有这个,这就是抛出未定义的方法'照片'错误

<% @posts.each do |p| %>
<%= image_tag(p.photo.url(:large_blog), :class => 'image') %>
<% end %>

赞赏任何指针

1 个答案:

答案 0 :(得分:2)

帖子有很多图片,每张图片都有一张照片。所以它可以这样:

<% @posts.each do |p| %> 
  <% p.images.each do |i| %>
    <%= image_tag(i.photo.url(:large_blog), :class => 'image') %>
  <% end %>
<% end %>