繁体   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