ruby-on-rails - 如何重写find_by方法然后调用activerecord中的原始方法

标签 ruby-on-rails rails-activerecord

我想重写模型中的 find_by_ 方法... 然后在里面我想调用原来的+一些附加代码。

class User < Activerecord::Base
  def self.find_by_email(email)
    binding.pry
    super.find_by_email(email) || find_by_social_identities_email(email)
  end
...

end

欢迎任何想法???

最佳答案

最后我这样做了:

class User < Activerecord::Base
  def self.find_by_email(email)
    super.find_by('email = :email', {email: email}) || find_by_social_identities_email(email)
  end
  ...
end

关于ruby-on-rails - 如何重写find_by方法然后调用activerecord中的原始方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24209165/

相关文章:

ruby-on-rails - rails : Make this rake task aware that it is in the test environment

ruby-on-rails - 通过扩展向 ActiveRecord 模块添加自定义验证?

ruby-on-rails - 如何监听由 3rd 方应用程序触发的数据库更改

ruby-on-rails - simple_form 的 Rails 表单关联

ruby-on-rails - CORS 的 Rails 路由通配

javascript - Rails escape_javascript 不呈现内容

ruby-on-rails - 未初始化的常量 ActionView::CompiledTemplates::BootstrapPagination

sql - Ruby ActiveRecord 和 sql 元组支持

ruby-on-rails - 在 Rails ActiveRecord 查询中有条件地链接 where 子句

ruby-on-rails - ActiveRecord 查找包括特定外来词的所有记录(不区分大小写)