2014-10-05 3 views
1

내가 원하는 것은 확률이 매우 간단합니다.모델의 특정 인스턴스에 대한 메서드 호출

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

author = Author.first 

articles = author.articles 

내가 현재 아마 가장 좋은 방법이 아니다이 코드와 같은 결과에 도달 : 나는 다음을 수행 할 수있는 권한 범위/클래스 메소드/인스턴스 방법을 찾고 있어요

Article 클래스의이 클래스 메서드와 함께 사용합니다.

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

어떻게 코드를 개선 할 수 있습니까?

+0

'author.articles.find (: id)'를 사용하는 것이 잘못된 이유는 무엇입니까? – Surya

답변

2

는이처럼 연결을 설정해야합니다

class Author < ActiveRecord::Base 
    has_many :articles 
end 

class Article < ActiveRecord::Base 
    belongs_to :author 
end 

그런 다음 당신이 작성자의 모든 기사와의 연결을 반환 author.articles을 할 수 있습니다.

Rails documentation에서 연결 설정에 대한 자세한 내용을 볼 수 있습니다.

0

방금 ​​추가 방법없이 author.article 할 수 있음을 알았습니다. ._.

관련 문제