2013-06-16 11 views
1

죄송합니다. 이것은 아주 간단한 질문입니다.레일즈 link_to 경로 변수 규칙?

중첩 된 리소스의 깊이가 2 단계입니다.

resources :programs do 
    resources :questions do 
     resources :answers 
    end 
    end 

그래서 등 페이지 인덱스, 편집, 내가의 의견에 show, edit, new 버튼의 link_to 속성을 수정해야 작동합니다. >

어떻게 = LINK_TO '쇼'예를 들어

,

<퍼센트, edit_question_path의 %를이 edit_question_path하기 위해 이름을 변경해야합니까? edit_question_program_path이거나 edit_program_question_path이어야합니다. 우리가 프로그램 -> 질문 -> 대답을 가지고 있다면,이 대회를 혼란스럽게 생각합니다. 그렇다면 컨벤션은 link_to 경로에 어떻게 있어야합니까? 도와주세요

답변

1

사용할 경로를 알고 싶다면 rake routes을 실행하여 올바른 경로 이름을 확인하십시오.

또한,이 경우에 당신은 link_to

link_to "Something", 
    edit_program_question_answer_path(@program, @question, @answer) 

세 가지 객체를 제공 못생긴 아닌가요해야합니까? 혼자 link_to 먹이를 할 일이 많이 있고, 더있을 것입니다.

중첩 된 리소스를 남용하지 마십시오. 제 생각에는 2 이상 사용하지 마십시오. 나 자신은 가능할 때 중첩 된 자원을 전혀 피하는 것을 선호한다.

+0

빠른 응답을 주셔서 감사합니다. 그렇다면 모델을 재 설계하여 경로를 덜 복잡하게 만들려면 어떻게해야합니까? – Clone

+0

@Clone, 이것은 모델과는 아무런 관련이 없습니다. 중첩 된 리소스가 필수가 아닌 경우 각 모델에 개별 리소스를 제공 할 수 있습니다. 자세한 내용은 http://guides.rubyonrails.org/routing.html을 확인하십시오. –

관련 문제