rails, как передать переменную из хелпера link_to

в моих маршрутах.rb у меня есть

match "monsters/:category" => "monsters#index"

у меня есть куча ссылок, например

  • Вода
  • Огонь
  • Земля
  • Летающий

однако у меня возникли проблемы с передачей «Воды» или «Огня» в качестве категории: для моих маршрутов. как именно мне это сделать?

я пробовал что-то вроде...

<%= link_to "Water", "monsters/water"(:category => "water") %>

но синтаксически я не могу этого сделать. как мне передать «воду» как символ: категория?

Благодарность!


person Sasha    schedule 21.04.2012    source источник


Ответы (1)


Вам не нужно указывать :category в link_to. При этом:

<%= link_to "Water", "monsters/water" %>

Ваши маршруты будут сопоставлять воду с параметром :category, поэтому в вашем контроллере вы можете получить доступ к params[:category], а вода будет значением. Обратите внимание, что в маршрутах вы уже говорите, что все, что идет после «monsters/», будет распознаваться как параметр категории.

Обратите внимание, что если у вас есть Именованные маршруты, вы можете передавать такие параметры:

<%= link_to "Up", monster_path(:category => "water") %>
person Nobita    schedule 21.04.2012