내가 루비 온 레일에 초보자이야 루비 온 레일즈에 경로를 생성하고 난 다음 일을하려고 마지막 시간을 보냈다 :라우팅
내가 루비 온 레일 응용 프로그램이이 - 블로그 게시물 및 카테고리가 포함되어 있습니다. 게시물에 대한 다른 URL을 갖고 싶습니다. http://localhost:3000/posts
대신 에서 News
으로 컨트롤러와 클래스를 대체하려고 시도했지만, (단점 복수형 때문에) 포기했습니다. 내가 some websites에서 본 그런 다음 내에서 나는 routes.rb
에
map.resources :news, :controller => "posts" #case 2
또는
map.resources :posts, :as => 'news' #case 3
에 map.resources :posts
(사례 1)을 대체했다. 그것도 작동하지 않습니다.
어떻게하면됩니까?
EDIT :
rake routes
의 출력 (에만 제 선)이다
posts GET /posts {:action=>"index", :controller=>"posts"}
formatted_posts GET /posts.:format {:action=>"index", :controller=>"posts"}
POST /posts {:action=>"create", :controller=>"posts"}
POST /posts.:format {:action=>"create", :controller=>"posts"}
new_post GET /posts/new {:action=>"new", :controller=>"posts"}
formatted_new_post GET /posts/new.:format {:action=>"new", :controller=>"posts"}
edit_post GET /posts/:id/edit {:action=>"edit", :controller=>"posts"}
formatted_edit_post GET /posts/:id/edit.:format {:action=>"edit", :controller=>"posts"}
post GET /posts/:id {:action=>"show", :controller=>"posts"}
formatted_post GET /posts/:id.:format {:action=>"show", :controller=>"posts"}
PUT /posts/:id {:action=>"update", :controller=>"posts"}
PUT /posts/:id.:format {:action=>"update", :controller=>"posts"}
DELETE /posts/:id {:action=>"destroy", :controller=>"posts"}
DELETE /posts/:id.:format {:action=>"destroy", :controller=>"posts"}
출력 :
경우 13
news_index GET /news {:action=>"index", :controller=>"posts"}
formatted_news_index GET /news.:format {:action=>"index", :controller=>"posts"}
POST /news {:action=>"create", :controller=>"posts"}
POST /news.:format {:action=>"create", :controller=>"posts"}
new_news GET /news/new {:action=>"new", :controller=>"posts"}
formatted_new_news GET /news/new.:format {:action=>"new", :controller=>"posts"}
edit_news GET /news/:id/edit {:action=>"edit", :controller=>"posts"}
formatted_edit_news GET /news/:id/edit.:format {:action=>"edit", :controller=>"posts"}
news GET /news/:id {:action=>"show", :controller=>"posts"}
formatted_news GET /news/:id.:format {:action=>"show", :controller=>"posts"}
PUT /news/:id {:action=>"update", :controller=>"posts"}
PUT /news/:id.:format {:action=>"update", :controller=>"posts"}
DELETE /news/:id {:action=>"destroy", :controller=>"posts"}
DELETE /news/:id.:format {:action=>"destroy", :controller=>"posts"}
내가 헥타르 예 2의 경우 소스 코드에 edit_news
이 없기 때문에 오류가 발생합니다. <%= link_to 'Edit', edit_post_path(post) %>
'레이크 루트'의 출력을 추가 할 수 있습니까? –
'map.resources : posts, : as => 'news'' 그리고'/ news'에 접근하려고하면 어떻게 될까요? –
@Marcel, 출력을 더했습니다. @Alex,이 경우'Routing Error - No route matches "/ news"를 {: method => : get}'으로 얻지 만'posts'와 함께 작동합니다. –