2011-08-05 5 views
0

내 루트 파일은 다음과 같습니다중첩 된 자원 3

resources :countries do 
    resources :regions do 
    resources :appartments 
    end 
end 

모델 :

Country: has_many :regions 

Region: belongs_to :country, has_many :appartments 

Appartment: belongs_to: region 

Region_controller :

def index 
    @country = Country.find(params[:country_id]) 
    @regions = @country.regions 
end 


def show 
    @country = Country.find(params[:country_id]) 
    @region = @country.regions.find(params[:id]) 
end 

질문 :

난에 아파트를 보여주고 싶은 지역 페이지. 내 지역 컨트롤러의 모범 사례는 무엇입니까?

+0

내가 편집하기 전에 아무 것도 느끼지 않아도된다. 보고있는 지역에 속한 아파트를 보여주고 싶습니까? –

답변

2

그것은 단순히 다음과 같습니다

@appartments = @region.appartments 
+0

+1 당신도 : – rookieRailer

+0

: D 너무 감사합니다! – apneadiving

1

당신이 원하는 모든 다음과 같은 지역 내에서 아파트 수행 페이지를 표시 표시하는 경우 :

  1. 은 지역에서 인스턴스 변수를 생성 show 액션으로 :

    @appartments = @regions.appartments

  2. views/regions 폴더 어딘가에 regions/show.html.erb 페이지 내에서

  3. 에 부분 _appartments.html.erb를 작성,이 장소 :

    <%= render @appartments %>

이 트릭을 할해야합니다.

+0

@apneadiving 편집 해 주셔서 감사합니다. 저는 직감을 가지고 ** 아파트 **를 작성했습니다. – rookieRailer

+0

대단히 반갑습니다. +1 BTW – apneadiving

+0

이름이 ** appartment ** 인 부분을 만든 것 같지만 ** appartments ** 여야합니다. 나는 그것이 효과가 있기를 바란다. – rookieRailer