Ruby on rails 多态关联语法中的蜻蜓图像?

Ruby on rails 多态关联语法中的蜻蜓图像?,ruby-on-rails,image,ruby-on-rails-4,carrierwave,dragonfly-gem,Ruby On Rails,Image,Ruby On Rails 4,Carrierwave,Dragonfly Gem,我有一个图片模型: class Picture < ActiveRecord::Base belongs_to :imageable, polymorphic: true dragonfly_accessor :image end 并返回一个空的活动记录代理: #<ActiveRecord::Associations::CollectionProxy []> 当我尝试在“显示”视图上显示时: <%= image_tag @teacher.pictures.th

我有一个图片模型:

class Picture < ActiveRecord::Base
  belongs_to :imageable, polymorphic: true
  dragonfly_accessor :image
end
并返回一个空的活动记录代理:

#<ActiveRecord::Associations::CollectionProxy []>
当我尝试在“显示”视图上显示时:

<%= image_tag @teacher.pictures.thumb('400x200#').url if @teacher.pictures_stored? %>
即使我删除了
if@scientist.pictures\u存储?
我也会得到这个错误:
undefined method thumb'

自从dragonfly给我们提供了
dragonfly\u访问器:image

在我们的图片模型上。但不确定如何实际引用它。非常感谢您的帮助。

您正在尝试调用图片列表中的属性

您需要浏览每一张图片或调用第一张图片:

<% teacher.pictures.each do |pic| %>
    <%= image_tag pic.image %>
<% end %>
def first_picture_image
    self.pictures.first.try(:image)
end

如果教师没有与之关联的图片,上述方法将返回
nil

您正试图从图片列表调用属性

您需要浏览每一张图片或调用第一张图片:

<% teacher.pictures.each do |pic| %>
    <%= image_tag pic.image %>
<% end %>
def first_picture_image
    self.pictures.first.try(:image)
end

如果老师没有相关的图片,上述方法将返回
nil

是否有任何方法可以让其中一个成为默认值?可能会改变他们的顺序并始终保持第一个默认值,或者有更好的方法吗?是否有任何方法可以让其中一个成为默认值?可能会改变他们的顺序并始终保持第一个默认值,或者有更好的方法?
<% teacher.pictures.each do |pic| %>
    <%= image_tag pic.image %>
<% end %>
def first_picture_image
    self.pictures.first.try(:image)
end