2017-07-31 18 views
0

私のアプリは企業イベントをリストし、オプションの写真をpaperclipで追加してこれらのイベントに関するレポートを書くことができます。ペーパークリップの添付ファイルがある関連レコードを返します

添付ファイルがある関連レポートのリストを返信したいとします。

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「ショー」アクションに写真を添付し​​た、関連するすべてのレポートを返すようにしようとしています:

マイイベントhas_many :reports

私はbelongs_to :eventとレポート

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

次のエラーが表示されます。

Mysql2 ::エラー: 'where句'の 'reports.photo'列が不明です。SELECT 'reports'。* FROM 'reports' WHERE 'reports.event_id = 13 AND(' reports '。 '写真'はNULLではありません)

誰かが私が間違っていることを教えてもらえますか、私がこのタスクに間違ったやり方で近づいている場合、どうすればそれに近づくべきですか?

+0

:また

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

、コンソールrails dbで実行するためのオプション(Railsの、4-用rake db)とタイプを持っています'@ event.reports.photo? 'を試してみてください。 – Pavan

答えて

0

ペーパークリップのadd_attachmentソースに基づいて、あなたのコードは次のようになります。

mysql> SHOW CREATE TABLE reports\G 
関連する問題