하나의 모범 사례가없는 것 같습니다.
(1) 표준 config/routes.rb
파일은 루트 페이지 (또는 홈 / 웰컴 페이지)를 welcome#index
. 이에 따라 안내를 받으면 해당 welcome#index
컨트롤러 / 액션 을 생성 하려면 다음 명령을 사용할 수 있습니다.
rails generate controller Welcome index
그런 다음에서 생성자가 자동으로 추가 한 config/routes.rb
GET 라우트 ( get "welcome/index"
)를 제거하고 루트 라우트 root 'welcome#index'
(또는 root :to => 'welcome#index'
Rails < 4
)를 파일 맨 위에 배치 할 수 있습니다.
또한 public/index.html
Rails 에서 삭제 하는 것을 잊지 마십시오 < 4
.
(2) 레일 라우팅 가이드에 공식 루비 사용 PagesController
. 실제로는를 제안 pages#main
하지만, 나에게는 함께가는 것이 더 합리적입니다 pages#home
( "홈페이지"가 유비쿼터스 용어 / 개념이기 때문에). 또한이 컨트롤러는 다른 처리 할 수있는 페이지 지향 등의 작업을 pages#about
, pages#contact
, pages#terms
, pages#privacy
, 등
(삼) 레일 자습서에 루비 로 이동 static_pages#home
하고static_pages#help
내가 "정적"이 컨트롤러를 나타내는의 생각처럼 안하지만, 등. 이러한 페이지에는 여전히 동적 측면, 특히 홈페이지가있을 것입니다!
(4) 취급 방법에 대해서는 논의하지 않지만 홈페이지 , Semi-Static Pages의 RailsCast # 117 은 전용 리소스 를 표시하는 또 다른 접근 방식을 제안 합니다.
1 및 / 또는 2를 선호합니다. "and"시나리오에서는 welcome # index 및 pages # about 등을 사용할 수 있지만 "or"시나리오에서는 pages # home, pages # about, 등. 강제로 선택하면 코드가 줄어들 기 때문에 옵션 2를 선택하겠습니다. 그리고 btw, 2, 3은 "정적"이라는 단어를 제외하면 거의 동일합니다.
@posts = Posts.find( ...
하거나@posts = Posts.all
이와 유사한 것이 DRY 원칙을 위반하는 것으로 간주되지 않습니까? 이미 작성된 코드를 컨트롤러의 동작으로 사용하는 더 나은 (더 모듈 식) 방법이 있습니까?Post
index
Post
index