我是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
如何与图像模型建立关联?
答案 0 :(得分:0)
images
是图像对象的集合。你在做什么就像在图像对象数组上调用图像对象的属性
<% @slide.each do |slide| %>
<%slide.images.each do |image|%>
<%= image.img_str %>
<%end%>
<% end %>