在Rails3中使用.where方法

Ell*_*iot 14 ruby ruby-on-rails ruby-on-rails-3

我刚刚开始使用.where方法,我对如何充分利用它有点困惑.

我想做点什么:

@books = Book.where(:author_id => 1 || 2)
Run Code Online (Sandbox Code Playgroud)

显然我知道这不起作用,但我试图证明我想要一些额外的逻辑.一些"或""和""不等于"等.

我可以在哪里研究这个想法?我正在寻找rails API,但我没有看到任何有用的东西.

谢谢!

cam*_*cam 26

1 || 2将无法工作,因为该表达式在函数调用之前被计算(它的计算结果为1,所以它应该相当于Book.where(:author_id => 1).我会这样做:

@books = Book.where(:author_id => [1, 2])
Run Code Online (Sandbox Code Playgroud)

生成的SQL将是WHERE author_id IN (1, 2).