ruby-on-rails - 根据条件重构 Rails ActiveRecord

标签 ruby-on-rails ruby

我有以下内容。如何最好地重构它:

  def self.search(search, organization_id, is_admin)
    if is_admin == false
      where("record_no LIKE ?", "%#{search}%").
        where("organization_id = ?", organization_id)
    else
      where("record_no LIKE ?", "%#{search}%")
    end
  end

基本上这意味着,当用户是管理员时,我希望它显示没有 organization_id 的所有记录。

最佳答案

你可以试试这个方法。

search_criteria = where("record_no LIKE ?", "%#{search}%")
search_criteria.where("organization_id = ?", organization_id) unless is_admin

关于ruby-on-rails - 根据条件重构 Rails ActiveRecord,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35122964/

相关文章:

ruby-on-rails - rails .order 方法不起作用

jquery - Bootstrap 下拉按钮菜单消失

ruby-on-rails - 使用 has_many 关系播种

ruby - 井字游戏 : checking to see if a player has won

ruby-on-rails - 在 Rails 中定义枚举值时出错

javascript - 定期发送ajax请求

ruby-on-rails - 如何对 gem 进行编辑并使其对 heroku 产生影响?

ruby-on-rails - WebMock stub_request 不工作

ruby-on-rails - 延迟作业会根据服务器时间运行吗?

ruby-on-rails - 没有主键的 ActiveRecord 模型