簡體   English   中英

在路徑中放置多個變量時,ruby on rails url_for中斷

[英]ruby on rails url_for breaks when placing more than one variable into a route

對於Rails 3項目,我正在嘗試創建seo url,例如

/recipes/123/lasagna

我的食譜模型具有name屬性,並且在route.rb中,我指定了以下內容:

resources :recipes, :path => "recipes", :except => [:show]
get :path => "recipes/:id/:name", :controller => :recipes, :action => :show, :as => :recipe

控制器可以按需工作,但是

url_for

recipe_path

休息-它似乎不知道用什么來:name

我希望它以默認方式工作-使用

recipe_path(recipe)

一種解決方法是使用

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

那不是很漂亮-這意味着我必須修改所有視圖

  1. 添加:name是將名稱添加到url的正確方法嗎?
  2. 如何獲得配方路徑正常工作?

因為您已經在路徑文件中添加了配方/:id /:name ,所以可以省略:id =>和:name => 您可以執行以下操作:recipe_path(recipe.id,recipe.name)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM