2012-03-16 3 views
0

3 프로젝트, 내가레일에 대한

/recipes/123/lasagna 

내 레시피 모델의 이름 속성이 같은 현서 URL을 만들기 위해 노력하고 경로에 하나 개 이상의 변수를 배치 할 때 나누기 url_for 레일에 루비, 및 경로의 .rb 내가 지정한 다음

컨트롤러가 원하는대로 작동
resources :recipes, :path => "recipes", :except => [:show] 
get :path => "recipes/:id/:name", :controller => :recipes, :action => :show, :as => :recipe 

하지만

url_for 

recipe_path 

휴식 - 그것을 사용 해야할지하지 않는 것 : -

recipe_path(recipe) 

를 사용하여 해결하는 것입니다

의 이름을 내가하고자하는 기본 방식으로 작동

recipe_path(:id => recipe.id, :name => recipe.name) 

실제로는별로 좋지 않습니다. 내 의견

  1. 추가 : 이름을 URL에 추가하는 올바른 방법은 무엇입니까?
  2. recipe_path를 제대로 작동 시키려면 어떻게해야합니까?
+0

라우트 파일에서 두 행의 순서를 바꾸어보십시오. – bblack

답변

0

당신이 조리법/추가 한 때문에 : ID를/: ID =>과 : 이름 => 당신의 경로에 이름을 당신이 을 남길 수 있습니다 파일. 다음과 같이하면됩니다 : recipe_path (recipe.id, recipe.name)