Rails, как объединить параметры при определении пути - PullRequest
0 голосов
/ 12 марта 2012

Я использую простую навигацию и пытаюсь определить путь:

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)
             )

Я хочу объединить параметры, но получаю ошибку:

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'

1 Ответ

2 голосов
/ 12 марта 2012

Проверка : контроллер и : действие Значения не мешают при объединении других пользовательских параметров.
Попробуйте это:

params.except(:controller, :action).merge(:tag_id => t.id, :page => nil)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...