1

在订购记录之前,我需要将一张桌子与另一张桌子连接起来。到目前为止,我发现我只能使用字符串进行排序,如下所示:

customer.joins(:product).order("products.position")

我不喜欢使用硬编码的字符串值,感觉不安全。如果我可以使用 Ruby 符号代替,那就太好了,如下所示:

customer.joins(:product).order(:products => :position) #doesn't work

我该怎么做?

我觉得这应该是可能的,因为您可以在加入表格和执行 时使用 Ruby 符号where,如下例所示:

customer.joins(:product).where(:products => {:manufacturer_id => @manufacturer.id})
4

1 回答 1

0

不,activerecord 不是这样设计的。我能想到的最好的理由是,您将如何指定ASCDESC使用这种类型的命名?您必须以字符串格式指定完整的语句才能使其工作。

于 2012-09-17T05:26:04.223 回答