我正在为Rails 3.0尝试Globalize3 gem现在我想知道如何编写干净的查询。我有一个产品型号,带有可翻译的标题和描述以及不可翻译的价格。现在我想搜索标题或描述包含特定关键字的所有产品。这就是我得到的:
@products = Product.with_translations(I18n.locale).where("product_translations.title like '%#{@keyword}%' or product_translations.description like '%#{@keyword}%'")
这样可行,但正如您所见,您需要在标题和产品前加上转换表('product_translations')。
我想要这样的事情:
@products = Product.with_translations(I18n.locale).where(:title => @keyword).or().where(:description => @keyword)
我知道这不会像是一样:)但我只想知道什么是可能的,什么不是没有前缀列。
亲切的问候,大安
答案 0 :(得分:0)
选择数据时有LEFT OUTER JOIN
。您的列title
在不指向翻译表的情况下变得模棱两可。
我认为这是不可能的