Rails 4 - 如何显示所有嵌套属性?

时间:2014-10-28 19:53:41

标签: ruby-on-rails ruby-on-rails-4 nested-attributes

我是Rails的新手,我使用嵌套属性做一个模型,效果很好。但是在显示所有嵌套属性的时候,我收到了一个错误。

模型

class Slide < ActiveRecord::Base
    belongs_to :user
    has_many :images, :dependent => :destroy
    accepts_nested_attributes_for :images, :reject_if => lambda { |a| a[:img_str].blank? }
end

class Image < ActiveRecord::Base
    belongs_to :slide
    validates :img_str, presence: true
    mount_uploader :img_str, AssetUploader
end

slides_controller

def index
    @slide = Slide.all
end

滑动/视图/索引

<% @slide.each do |slide| %>
  <%= slide.images.img_str %>
<% end %>

Rails表明了这一点:

undefined method `img_str' for #Image::ActiveRecord_Associations_CollectionProxy:0x00000003e98dd0

如何与图像模型建立关联?

1 个答案:

答案 0 :(得分:0)

images是图像对象的集合。你在做什么就像在图像对象数组上调用图像对象的属性

<% @slide.each do |slide| %>
  <%slide.images.each do |image|%>
     <%= image.img_str %>
  <%end%>
<% end %>