在 Rails 的 Ruby 中通过参考模型(child?)查找模型

Find a model by its referenced model (child?) in Ruby on Rails

Rails nooby 在这里,寻找一些技巧。我在网站和 Rails 网站上四处查看,似乎找不到我要找的东西。

我有一个帐户class

class Account < ActiveRecord::Base
  has_one :access_token, dependent: :destroy
  has_secure_password

当然还有

class AccessToken < ActiveRecord::Base

我希望我的控制器能做的是 Account.find_by_access_token 或类似的事情。在 Rails 中有没有办法做到这一点?

假设列的名称是 AccessToken 被命名为 token,尝试:

class Account < ActiveRecord::Base
  def self.find_by_token(token)
    Account.joins(:access_token).where(access_tokens: { token: token } )
  end
end

然后像这样使用它:

Account.find_by_token('XXXXXXX')