我正在使用简单的导航,我正在尝试定义路径:
sub_nav.item t.id,
t.h1.force_encoding("UTF-8"),
tag_path( d.slug, t.slug,
params.merge(:tag_id => t.id, :page => nil)
)
我想合并params,但是我得到了错误:
No route matches {:controller=>"kategoris", :action=>"show", :view=>"boks",
:id=>"vind-gavekort", :tag_id=>26, :page=>nil,
:kategori=>"gavekort-konkurrencer"}
如果我将其更改为:
sub_nav.item t.id,
t.h1.force_encoding("UTF-8"),
tag_path( d.slug, t.slug, :tag_id => t.id, :page => nil )
它有效,但参数不合并。
路线:
match '/:id' => 'kategoris#show', :as => 'katshow'
match ':kategori/:id' => 'tags#show', :as => 'tag'
答案 0 :(得分:2)
检查:控制器和:操作值在合并其他自定义参数时没有乱七八糟。
试试这个:
params.except(:controller, :action).merge(:tag_id => t.id, :page => nil)