2013-04-20 3 views
1

tutorial 모델과 tutorial_category 모델이 있습니다. 나는 has_manybelongs_to 관계를 사용하여이 둘을 연결했다. 자습서 색인보기에서는 자습서를 반복합니다. <% @tutorials.each do |tutorial| %>. 그 루프 안에서 각 튜토리얼이 속한 카테고리를 표시하고 싶다. <%= tutorial.tutorial_categories.title %> (제목은 tutorial_category 모델의 attr이고 tutorial_category 모델의 tutorial_id 속성이 있습니다 : tutorial_category_id는 튜토리얼 모델의 attr입니다).레일 - 자습서 색인보기에서 자습서가 속한 범주 표시

def index 
    @tutorials = Tutorial.all 
    @tutorial = Tutorial.new 
    @tutorial_categories = TutorialCategory.select("DISTINCT title, id") 

    respond_to do |format| 
     format.html # index.html.erb 
     format.json { render :json => @tutorials } 
    end 
end 

내가 잘못 여기서 뭘하는지 알아낼 수 없습니다 : 여기

내 튜토리얼 컨트롤러의 index 액션이다. 루비 코드를 작성한 이후로 몇 달이 지났지 만, 내 경험에 의하면이 모든 것이 올바르게 작동해야합니다. 그래서 나는 아마 여기 바보 같은 것을 놓치고있을 것입니다. 어떤 도움을 주시면 감사하겠습니다!

업데이트 : 내 모델

class Tutorial < ActiveRecord::Base 
    attr_accessible :content, :title, :tutorial_category_id 
    belongs_to :tutorial_category 
end 

class TutorialCategory < ActiveRecord::Base 
    attr_accessible :title, :tutorial_id 
    has_many :tutorials 
end 

답변

0

그런 다음 다음을 수행 다음 튜토리얼 튜토리얼 범주를 나열 할 수있게하려면 :

다음
def index 
    @tutorials = Tutorial.includes(:tutorial_category) 
    @tutorial = Tutorial.new 
    ... 
    end 
end 

당신이 그들을

을 반복 할 수 있습니다
<% @tutorials.each do |tutorial| %> 
    <%= tutorial.tutorial_category.title %> 
<% end %> 
+0

자습서 카테고리 has_many 자습서. 나는 당신이 준 것을 시도하고 있는데, 여전히 'title'에 대한 정의되지 않은 메소드를 얻고있다. –

+0

질문에'tutorial.tutorial_categories.title'을 쓴 것이고, 답이 단답형이고 복수형이 아닌지 확인하십시오. 또한 모든 마이그레이션을 실행했는지 확인하십시오. 아마도 모델을 질문에 추가해야 할 것입니다. –

+0

예. 단발로 만들었습니다. 내 질문 업데이트/모델 –