返回回形针附件存在的相关记录

时间:2017-07-31 18:39:16

标签: ruby-on-rails activerecord associations paperclip

我的应用程序列出了公司活动,并允许用户通过回形针添加可选照片来撰写有关这些活动的报告。

我想返回一个包含附件的关联报告列表。

我的活动has_many :reports

我的报告belongs_to :event和:

has_attached_file :photo, :styles => { :thumb => "150x150#" }, :default_url => "/images/:style/missing.png" validates_attachment_content_type :photo, :content_type => %w(image/jpeg image/jpg image/png)

我正在尝试在event_controller" show"中返回已附加照片的所有相关报告。通过这样做的行动:

@hasphoto = @event.reports.where.not(:photo => nil)

但我收到以下错误:

Mysql2 ::错误:未知栏' reports.photo'在' where子句':SELECT'报告'。* FROM'报告'在哪里' reports.event_id = 13 AND('报告'。'照片'非空)

有人可以告诉我我做错了什么,或者如果我以错误的方式接近这个任务,我该如何接近它?

1 个答案:

答案 0 :(得分:0)

根据Paperclip的add_attachment来源,您的代码应如下所示:

@hasphoto = @event.reports.where.not(photo_file_name: nil)

此外,您可以选择在控制台rails db(对于Rails 4- rake db)中运行并输入:

mysql> SHOW CREATE TABLE reports\G