小编vis*_*tej的帖子

如果它存在于 rails 中,则应用 where 条件

在 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

2
推荐指数
2
解决办法
231
查看次数

从数组中选择一个键值对

我有一个看起来像这样的数组

[
  "---\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,但我不知道该怎么做.任何人都可以帮忙吗?

ruby arrays

0
推荐指数
1
解决办法
103
查看次数