2012-03-13 4 views
0

최근 레일에 루비로 프로그래밍을했는데 모든 코드를 체계적으로 구성하고 구성해야하는 정확한 방법을 파악하는 데 어려움을 겪었습니다. 특히 특정 스캐 폴드/모델/컨트롤러가해야합니다.레일 모델/컨트롤러 구조체

예를 들어 소개 페이지가있는 프론트 페이지가있어 로그인하거나 등록 할 수있는 옵션을 제공하는 앱이 있습니다 (표준 시작 화면). Users 스캐 폴드를 생성했으며 사용자가 자신의 프로필 측면에서 본 모든 기본 페이지를 처리하기 위해이 도구를 사용할 계획이었습니다. 나는 또한 로그인과 등록을 처리하기 위해 devise를 사용 해왔다.

그러나이 환영 페이지를 처리하는 방법을 정확히 알지 못합니다. 현재로서는 사용자 발판이 자동으로 생성 한 index.html.erb를 변경했을뿐입니다. 실제로는 사용자 프로필과 관련이있는 페이지가 아니기 때문에 실제로는 적합하지 않습니다.

컨트롤러의 기능을 분리하는 일반적인 방법이 있습니까? 특정 데이터베이스 측면과 관련이없는 페이지 (예 : 연락처 페이지, 시작 화면 등)로 수행해야하는 작업은 무엇입니까?

또한 약간의 기본 application_controller.rb의 목적에 대해 혼란스러워합니다. 모든 것이 확장 된 것처럼 보이지만 이것을 변경해야합니까 (위에서 언급 한 일반적인 페이지에 사용 가능).

미리 감사드립니다. 매우 긴 게시물을 보내 주셔서 감사합니다.

답변

0

색인 또는 홈 페이지는보기가 첨부 된 단일 컨트롤러 일 것입니다. 당신은 입력하여 컨트롤러를 생성 할 수 있습니다 : 당신이 그 후

rails g controller Home main 

이 단축 될 수 있습니다

rails generator controller Home main 

주 당신이 루트 지침이 컨트롤러와 액션을 첨부 할 수 routes.rb 파일을 편집하는 경우 :

ApplicationController은 다른 모든 컨트롤러를 확장 한 것입니다. 컨트롤러간에 코드를 공유하려면 해당 코드를 ApplicationController에 넣어야합니다.

0

일반적인 홈페이지를 원한다면 원하는 이름으로 컨트롤러를 생성하십시오. 나는 최근에 연극과 리세라는 이름의 두 곡을 가지고 있습니다.

맞습니다. ApplicationController는 대부분 확장 될 것입니다. 때때로 당신은 거기에 약간의 sitewide 코드를 넣을 것이지만, 그것은 작을 것이다.