рельсы 3, как обрабатывать принимающий конец строки запроса - PullRequest
0 голосов
/ 23 декабря 2011

У меня есть две простые ссылки

<h3><%= link_to "Brand Awards", new_recommendation_path(:category => "Brand" ) %></h3>
    <h3><%= link_to "Business Awards", new_recommendation_path(:category => "Business" ) %></h3>

обе эти ссылки ведут в одно и то же представление, но они явно передают два отдельных значения в категорию.

Как использовать их для запуска оператора ifв моем представлении new_recommendation.

Мне нужно по сути сделать: если category = "Brand" сделать abc, elsif category = "Business" do xyz

Я даже на правильном пути?*

Ответы [ 2 ]

2 голосов
/ 23 декабря 2011

Маршрут (упомянутый в другом ответе) не является необходимым (хотя приятное прикосновение). если вы не настроите маршрут, он просто появится как параметр строки запроса, например: /recommendation?category=Brand

В любом случае вы можете просто обратиться к параметрам, например;

<% case params[:category]
   when 'Brand' %>
  show brand stuff
<% when 'Business' %>
   show business stuff
<% else %>
   show default something else
<% end %>
2 голосов
/ 23 декабря 2011

Я думаю, вам нужно настроить маршрут в rout.rb, например,

match "recommendation/:category", controller: 'recommendation', action: 'new', category: :category

Затем в контроллере вы можете найти категорию в params[:category] и передать ее в представление.

...