Ruby on rails 3 铁路3&x2B;第三,如何编写没有转换表前缀的干净查询

Ruby on rails 3 铁路3&x2B;第三,如何编写没有转换表前缀的干净查询,ruby-on-rails-3,globalization,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.desc

我正在试用适用于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)
我知道这与like:)不一样,但我只想知道在没有列前缀的情况下什么是可能的,什么不是

亲切问候,


Daan

当您选择数据时,存在一个
左外连接。您的列
标题
在不指向翻译表的情况下变得模棱两可。
我认为这是不可能的