Rails3 + Globalize3,如何编写没有转换表前缀的干净查询

时间:2011-10-31 19:35:48

标签: ruby-on-rails-3 globalization

我正在为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)

我知道这不会像是一样:)但我只想知道什么是可能的,什么不是没有前缀列。

亲切的问候,

大安

1 个答案:

答案 0 :(得分:0)

选择数据时有LEFT OUTER JOIN。您的列title在不指向翻译表的情况下变得模棱两可。 我认为这是不可能的