【问题标题】:Show image from another model using id upload by paperclip Rails 3使用回形针 Rails 3 上传的 id 显示来自另一个模型的图像
【发布时间】:2013-12-14 03:29:17
【问题描述】:

如何在 Pin 模型视图中使用其 ID 访问 Image.photo?

目前我正在这样做,如果我删除 image_tag 或银行图像空间,它会给我随机数。

<td><%= image_tag Image.find_by_id(pin.pic) %></td>

这个给了我未定义的方法 `photo' for nil:NilClass

<td><%= image_tag Image.find_by_id(pin.pic).photo.url(:small) %></td>


class Pin < ActiveRecord::Base
  attr_accessible :board, :pic, :pin_time, :user, :apic, :photo
  belongs_to :auser, :class_name => 'User', :foreign_key => 'user' 
  belongs_to :apic,   :class_name => 'Image',:foreign_key => 'pic'
end


class Image < ActiveRecord::Base
  attr_accessible :description, :uid, :web_url, :photo, :photo_file_name,:photo_content_type, :photo_file_size, :photo_updated_at, :id
  has_attached_file :photo, :styles => { :small => "150x150>", :medium => "300x300", :large => "600x600"}

  belongs_to :user

  validates_attachment_presence :photo
  validates_attachment_size :photo, :less_than => 5.megabytes
  validates_attachment_content_type :photo, :content_type => ['image/jpeg', 'image/png']
end

【问题讨论】:

标签: ruby-on-rails ruby-on-rails-3 view model paperclip


【解决方案1】:

为什么不简单

pin.apic.photo.url(:small)

或者您正在寻找其他完全不同的东西?

【讨论】:

  • nil:NilClass 的未定义方法 `photo'
  • 所以 pin.apic 为 Nil,这意味着此 pin 没有图片或您的关联已损坏。如何将图像添加到图钉?您可以在控制台中检查给定 pin 的 pin.apic 存在吗?如果 apic 是可选的,您可能应该使用 (pin.apic.photo.url if pin.apic)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-03
  • 1970-01-01
  • 2017-09-25
  • 1970-01-01
  • 2016-01-04
  • 1970-01-01
  • 2015-01-20
相关资源
最近更新 更多