어떻게 작동합니까? 이것은 URL 및 경로를에 /:name
처럼 아무것도 잡을 것중첩 된 경로가 작동하지 않습니다.
get "/:name", to: "categories#show" do
resources :posts, only: [:show]
end
어떻게 작동합니까? 이것은 URL 및 경로를에 /:name
처럼 아무것도 잡을 것중첩 된 경로가 작동하지 않습니다.
get "/:name", to: "categories#show" do
resources :posts, only: [:show]
end
응용 프로그램/설정/routes.rb
을 경향이 매우 오류가 잠재적 것을resources :categories, :path => "" do
resources :posts, :only => :show
end
주
scope path: '/:name' do
resources :posts, only: [:show]
end
resources :posts, except: [:show]
posts#show
함수에 :name
및 :id
매개 변수를 전달합니다.
응용 프로그램/컨트롤러/posts_controller.rb
def show
user = User.where(name: params[:name]).first
@post = Post.where(['id = ? AND user_id = ?', params[:id], user.id])
render @post
end
참고 :이 강한 매개 변수를 사용하여 4 친화적 인 더 레일이 될 수 있습니다.
/이름/게시물/2
내 routes.rb : 이것은 내가 필요 예를 들어 URL입니다 카테고리 컨트롤러에. :path => ""
을 추가하면 URL에서 리소스 식별자를 잘라냅니다. 대신에/categories/foobar
을 얻는 대신 /foobar
상위 경로에 게시물 경로를 중첩하면됩니다. 포괄 경로의 종류가 쓰레기를 포함한 모든 것을 잡는 당신이 기대하지 않는다 :