dan*_*mcc 0 ruby activerecord ruby-on-rails
我的 Calls 控制器中有以下代码:
@calls = Call.where(:destination => ("1234"),
:destination => ("5678"),
:destination => ("91011"))
Run Code Online (Sandbox Code Playgroud)
虽然上面的代码有效,但它只列出目的地为 91011 的记录。我想以某种方式显示目的地字段与任何数字匹配的所有记录。
我不确定是否应该为每个过滤器添加一个 .where 语句。
任何帮助,将不胜感激!
这与我不久前问的另一个问题非常相似。但是,这是为了进一步过滤查找条件而不是扩大范围。
尝试这个:
@calls = Call.where(:destination => ["1234", "5678", "91011"])
Run Code Online (Sandbox Code Playgroud)
此外,如果您使用的是 ruby 1.9,则可以使用新的哈希语法:
@calls = Call.where(destination: ["1234", "5678", "91011"])
Run Code Online (Sandbox Code Playgroud)
对于限制,有一种方法
@calls = Call.where(destination: ["1234", "5678", "91011"]).limit(10)
Run Code Online (Sandbox Code Playgroud)
我强烈建议你阅读ActiveRecord Query Interface,它太棒了!
| 归档时间: |
|
| 查看次数: |
501 次 |
| 最近记录: |