Ruby on rails “我如何重新书写?”;反馈。其中(';海报id=3或接收者id=3';”);在Rails 3.1中?
有没有一种更“Rails友好”的方式来编写它 i、 e.如果我在搜索这些属性中的任何一个,我只会做Ruby on rails “我如何重新书写?”;反馈。其中(';海报id=3或接收者id=3';”);在Rails 3.1中?,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.1,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.1,有没有一种更“Rails友好”的方式来编写它 i、 e.如果我在搜索这些属性中的任何一个,我只会做反馈。其中(:poster\u id=>3) 但是如何在Rails 3友好语法中实现或(与SQL友好语法相反) 另外,如果使用我的原始版本比所需版本更好,为什么更好 谢谢 编辑1:顺便说一句,如果我做了反馈。其中(:poster\u id=>3,:receiver\u id=>3)返回和操作的结果,这与我想要的正好相反。所以我觉得很接近,只是不太接近。可以通过在where()参数中添加SQL片段来实
反馈。其中(:poster\u id=>3)
但是如何在Rails 3友好语法中实现或
(与SQL
友好语法相反)
另外,如果使用我的原始版本比所需版本更好,为什么更好
谢谢
编辑1:顺便说一句,如果我做了
反馈。其中(:poster\u id=>3,:receiver\u id=>3)
返回和
操作的结果,这与我想要的正好相反。所以我觉得很接近,只是不太接近。可以通过在where()参数中添加SQL片段来实现这一点。有关更多信息,您可以
您可以在不使用SQL片段的情况下执行此操作:
这与我最初的陈述是一样的,imho…如果不是更糟的话-在应用程序级别需要额外的执行。我想我不理解这个问题。我以为你在问如何在ActiveRecord 3中使用OR条件。你真正的问题是什么?在应用程序级别需要什么额外的执行?我想一个更具体的问题是,如何在不使用SQL片段的情况下使用
或条件?好的……那么,我将继续使用SQL。另一种感觉很混乱:)
Feedback.where("poster_id = ? OR receiver_id = ?", 1, 3)
t = Feedback.arel_table
Feedback.where(t[:poster_id].eq(1).or(t[:receiver_id].eq(2)))