如何在rails的where子句中包含if条件
Posted
技术标签:
【中文标题】如何在rails的where子句中包含if条件【英文标题】:How to include a if condition inside where clause in rails 【发布时间】:2022-01-04 12:58:07 【问题描述】:我有以下方法:
def add_books(year, industry, author_id=nil)
Books.where(publication_year:year, author: author_id)
end
如果未通过,我如何更新查询以不按author_id
过滤?
【问题讨论】:
有空请到***.com/help/someone-answers。注意到您有一些问题的答案您不接受。谢谢。 【参考方案1】:我会这样做:
def add_books(year, industry, author_id = nil)
conditions = publication_year: year
conditions[:author_id] = author_id if author_id.present?
Books.where(conditions)
end
但是,add_books
方法的名称暗示了一个
create
你没有。也没有使用industry
。有点可疑:)
【讨论】:
以上是关于如何在rails的where子句中包含if条件的主要内容,如果未能解决你的问题,请参考以下文章