ruby-on-rails - 编写具有重复值的 Ruby Hash 而不重复值

标签 ruby-on-rails ruby

我在 Rails Controller 中有以下代码:

@users = User.where(["first_name = :first_name or
                    last_name = :last_name or
                    company = :company",
                    { first_name: term, last_name: term,
                    company: term }])

术语是 term = params[:search]

我不喜欢我重复 term

{ first_name: term, last_name: term,
                        company: term }

是否有一种 DRYER 方法可以做到这一点?

谢谢!

最佳答案

你可以这样做:

@users = User.where("first_name = :term OR
  last_name = :term OR company = :term", term: term)

关于ruby-on-rails - 编写具有重复值的 Ruby Hash 而不重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25770285/

相关文章:

ruby-on-rails - Ruby on rails - 参数数量错误(2 为 1)[Rails]

Ruby:扩展/包含模块的模块

ruby-on-rails - 如何访问 Capistrano 中的服务器特定选项?

ruby-on-rails - 我怎样才能 has_and_belongs_to_many 同一模型的多个实例?

ruby-on-rails - 在使用 rails 的选择中将选项值设置为数组索引

ruby-on-rails - 将 I18n 翻译添加到 rspec 测试

ruby-on-rails - 在 seeds.rb 中模拟时间戳

ruby - 使用正则表达式找到一个字符串,然后使用正则表达式找到一个新的字符串来替换它

ruby-on-rails - rails 事件记录选择

mysql - Rails activerecords 查询,行分割