【问题标题】:Rails3 + Globalize3, how to write clean queries without translation table prefixRails3 + Globalize3,如何编写没有翻译表前缀的干净查询
【发布时间】:2011-10-31 19:35:47
【问题描述】:

我正在试用 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 不一样 :) 但我只想知道什么是可能的,什么是不加前缀的。

亲切的问候,

大安

【问题讨论】:

    标签: ruby-on-rails-3 globalization


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-09
      • 1970-01-01
      • 1970-01-01
      • 2020-01-16
      • 2012-12-24
      相关资源
      最近更新 更多