【发布时间】:2015-11-12 14:20:16
【问题描述】:
技术规格:ruby 2.2.1p85,Rails 4.2.3。
这是完美的工作:
@performances = Performance.where(date: start_date..end_date).includes(:production_page).where(pages: {organization_id: organization_id, layout_id: nil, genre: genre_word})
我的问题是,目前,genre 和genre_word 需要完全匹配。我需要知道流派是否包含流派_字。我试过包括? (语法错误)并尝试使用 .find_by_sql 重写查询。
例子:
genre_word: Comedy
pages.genre: Comedy, Drama
理想情况下,pages.genre 和genre_word 会将此记录视为自 pages.genre 中的“Comedy”以来的匹配项。我还必须保持对 organization_id 和 layout_id 的搜索。
感谢您对此提供的任何帮助。
【问题讨论】:
-
我认为你有这个相反的:
genre_word: genre应该是:genre: genre_word。如果一个页面只有genre_word设置为genre,那么它至少应该匹配。对吗? -
你是对的。上面的编辑。
标签: ruby-on-rails ruby conditional where contains