使用:Rails 3.1.1 和 Friendly_id 用于 url。
我认为这应该相当容易,但我无法弄清楚。
我有一个看起来像这样的嵌套路由:
resources :pages, :path => '' do
# WHAT_DO_I_TYPE_HERE
resources :products, :except => [:index], :path => '' do
member do
post 'broken_link'
end
end
end
未标记的 (#) 行是我要弄清楚的行。基本上我有如下所示的网址:
domain.com/page_name/product_name/(通过friendly_id),例如domain.com/music/mp3/。
我想使用 url domain.com/music/edit 来编辑关于音乐的页面。
现在,如果我输入:<blank>
# ie nothing...将该行留空 --- 我收到错误“找不到具有 id=edit 的产品”,这在某种程度上是有道理的。它试图找到一个名为编辑的产品,而不是方法编辑。因此,我尝试使用 b。match 'edit', :controller => 'pages', :action => 'edit' --- 这给了我错误“找不到没有 ID 的页面”,我想这也是有道理的。
那么我应该写什么来告诉路线在检查产品名称之前检查编辑方法?