对特定模型实例的调用方法

时间:2014-10-05 15:58:53

标签: ruby-on-rails ruby-on-rails-4

我想要的是probalby非常简单。我正在寻找合适的范围/类方法/实例方法来执行以下操作:

author = Author.first

articles = author.articles

我目前使用此代码获得相同的结果,这可能不是最佳方式:

author = Author.first
articles = Article.author(id)

与Article类中的此类方法一起使用。

def self.articles(author_id)
  where(author_id: author_id)
end

如何改进代码?

2 个答案:

答案 0 :(得分:2)

您需要设置这样的关联:

class Author < ActiveRecord::Base
  has_many :articles
end

class Article < ActiveRecord::Base
  belongs_to :author
end

然后你可以author.articles,它返回该作者所有文章的关联。

您可以在Rails documentation中了解有关设置关联的详情。

答案 1 :(得分:0)

刚刚发现我可以在没有任何其他方法的情况下创作.article。 ._。