ruby-on-rails - 使用 Union Logic 的 ActiveRecord 动态基于属性的查找器?

标签 ruby-on-rails ruby activerecord boolean

我想要 ActiveRecord 中的“逻辑或”动态查找器。有人见过这样的东西吗?

所以本着这样的精神..

User.find_by_name_and_email("foo", "bar@thud.com")

..你可以做这样的事情..

User.find_by_username_or_email(user_input)

最佳答案

您的数据库中真正有多少字段将具有您可以像这样查找的真实值?足以担心使用动态查找器方法了吗?可能不会。 named_scope 有什么问题吗?

class User < ActiveRecord::Base

  named_scope :user_or_email, lambda{ |user_name|
    { :conditions => ["username =? OR email =?", user_name, user_name] }
  }

end

这就是你想要的,我只是认为这种事情不会经常弹出来证明动态查找器的合理性,但嘿,我可能是错的。

关于ruby-on-rails - 使用 Union Logic 的 ActiveRecord 动态基于属性的查找器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/963253/

相关文章:

c++ - 从 ruby​​ 运行 C++ 程序

ruby - 我可以使用 aws-sdk-ruby 在 AWS S3 上使用事务性文件删除/上传吗?

ruby-on-rails - 如何在自定义 SQL 中使用 ActiveRecord 查询缓存

ruby-on-rails - Rails : has_many, 但也有不同名称的 has_one

ruby-on-rails - ActiveRecord ConnectionPool - 异常处理?

javascript - 如何在 Rails 的主要内容之间显示一些内容或消息

mysql - 在 Rails3、 Octopus 复制 gem 查询错误期间丢失与 MySQL 服务器的连接

ruby-on-rails - 使用(restful)rails 时事务何时开始

ruby - pry 的 whereami 的 byebug 版本是什么?

ruby-on-rails - RSpec: should_receive 作为被规范的东西