在 rails activerecord 中有没有办法根据条件应用 where 条件?
例如:假设我想应用过滤器,如果它存在于输入参数中。假设@name 是必填字段,@salary 是可选字段。
@name = "test_name"
@salary = 2000
Run Code Online (Sandbox Code Playgroud)
我想做如下事情:
Employee.where(name: @name)
.where(salary: @salary) if @salary.present?
Run Code Online (Sandbox Code Playgroud)
我知道要在多个 db 调用中进行,但我正在寻找一个选项来在单个 db 调用中实现这一点。
ruby activerecord ruby-on-rails rails-activerecord ruby-on-rails-5
我有一个看起来像这样的数组
[
"---\n",
":date: 2018-07-31\n :estimated_hours: 4.0\n :remaining_hours: 4.0\n ",
":date: 2018-08-01\n :estimated_hours: 4.0\n :remaining_hours: 4.0\n ",
":date: 2018-08-22\n :estimated_hours: 4.0\n :remaining_hours: 0.0\n "
]
Run Code Online (Sandbox Code Playgroud)
我想选择密钥的所有值":date".我读过我可以使用Enumerable#select,但我不知道该怎么做.任何人都可以帮忙吗?