【发布时间】:2014-06-19 16:19:30
【问题描述】:
我有一个名为“Profile”的模型,其中一个属性称为“pic”。在控制台中,当我这样做时:
User.first.profile
返回以下内容。
=> #<Profile id: 64, created_at: "2014-06-19 15:59:41",
updated_at: "2014-06-19 15:59:41", user_id: 24,
description: "fds aslkjd aslkfjhas dlkjashdf lajkdshf al...",
rate: nil, pic: nil >
如您所见,“pic”属性为 nil,因为我从未上传过图片。我正在尝试编写几个“if语句”来区分图片是否存在。例如:
@profile = User.find(24).profile.first
if @profile.pic
我也试过了:
@profile = User.find(24).profile.first
if @profile.pic.exists?
所有这些都评估为真,这不应该发生,因为从未上传过图片。
我也试过了:
@profile = User.find(24).profile.first
if @profile.pic.nil?
由于某种原因,结果为假。
当我在控制台中运行时:
=> #<PicUploader:0x007ff8abeb8560 @model=#<Profile id: 64,
created_at: "2014-06-19 15:59:41", updated_at: "2014-06-19 15:59:41",
user_id: 24, description: "fds aslkjd aslkfjhas dlkjashdf lajkdshf al...",
rate: nil, pic: nil>, @mounted_as=:pic>
我不知道这是从哪里来的。如何为图像是否存在写一个“if 语句”,它实际上会像它应该返回的那样返回 false?
谢谢。
【问题讨论】:
标签: ruby-on-rails model-view-controller ruby-on-rails-4 carrierwave jquery-file-upload