레일즈 어플리케이션에서 작업 중이며 MVC와 REST에 익숙하다. 이 방법론을 사용하려고하지만 몇 가지 질문이 있습니다.레일 어플리케이션 구조
- "리소스"에 직접 해당하지 않는 탐색 링크가 있어야합니다. '대시 보드' '거래'및 '잔액'이라고 가정 해 보겠습니다. 컨트롤러에서 이것을 어떻게 모델링합니까? 위의 각 단어에 대해 하나씩 세 가지 작업이있는 "탐색"용 컨트롤러가 있습니까?
- 응용 프로그램을 모델링하는 합리적인 방법이라면 URL에 "탐색"이라는 단어를 표시하고 싶지 않기 때문에 /dashboard => Navigation # Dashboard라고하는 일치하는 경로를 만들 것이라고 생각했습니다. 이것은 좋은 것처럼 보이지만 서버에서 렌더 '대시 보드'를 할 때 URL을 직접 호출 한 이후 '대시 보드'대신 '탐색/대시 보드'라고 말합니다. 내가 찾은 유일한 해결 방법은 '/ 대시 보드'로 리디렉션하는 것이지만 잘못된 것 같습니다.
고마워요!
편집 : 실제 질문은 누군가가 "로그인"으로 이동하여 유효성 검사 오류가 발생하면 오류를 표시하고 세션 # 새 페이지 (로그인 페이지)보기를 렌더링합니다. 이로 인해 브라우저가/sessions/new로 이동하지만,/signin에 가야합니다. 나는 redirect_to를 사용하지 않기를 바랄 것이다. 왜냐하면 브라우저가 "옳은 것"으로 보이지 않는 전체 두 번째 페이지 요청을하게 될 것이기 때문이다.
@dombesz - 예, 이해하지만, "redirect_to dashboard_path"만 사용할 수 있습니다.하지만 "render dashboard_path"를 수행해야하지만 제대로 작동하지 않습니다. – skaz
@skaz 업데이트 된 답변 – dombesz
를 참조하십시오. @dombesz - 모든 내용이 의미가 있습니다. 내 질문의 루트는 브라우저의 uri를 'navigation/dashboard'로 변경하지 않고 'render [something]'를 호출하여 페이지로 렌더링 할 수 있는지 여부입니다. 이후 'navigation'부분을 숨기려고합니다. url을 만들고 'site.com/dashboard'로 지정하십시오. 내가 렌더링 할 때, 액션은 '/ controller/action'의 기본 경로를 보여 주며 브라우저에서 또 다른 호출이므로 redirect_to를 사용하지 않습니다. 나는 그것이 의미가 있기를 바랍니다. 지금까지 도와 줘서 고마워. – skaz