2009-10-20 8 views
2

레일스를 처음 사용합니다. 나는 다음과 같은 공사를했다. 내 프로젝트의 메인 메뉴에는 많은 하위 메뉴가 있습니다. @submenu를 정의 할 때 모든 것이 정상이지만 @mainmenu를 찾지 못합니다. 출력은 : 그것은 submenu`s 상류층은 그래서레일에서 함수를 찾기 위해 변수 전달 2

@submenu = Submenu.find(params[:submenu_id]) 
@mainmenu = Mainmenu.find(params[:id => @submenu.mainmenu_id]) 

어떻게 내가 @mainmenu 정의 할 수 있습니다 ID없이 MAINMENU를 찾을 수 없습니다?

나는 레일 2

답변

1

레일은 그냥 그런 관계를 검색 할 수 있습니다

@mainmenu = @submenu.mainmenu 

을하지만 (일부 모호한 이유로 또는 다른 맥락에서) 원하는 경우, 메뉴를 검색 할 수 당신이 전에했던 것처럼, 당신은 수행해야합니다

@mainmenu = Mainmenu.find_by_id(@submenu.mainmenu_id) 

는이 부분을 읽어보십시오 : Active Record Query Interface를 적절하게 액티브 레코드와 SQL 쿼리를 수행하는 방법을 알기 위해.

+0

너무 쉽게 ... 감사합니다! 너는 내 하루를 보냈다! – Yurish