Добавить параметр в контроллер - PullRequest
1 голос
/ 09 марта 2012

У меня есть шаблон HAML (entity \ index.html.haml), который имеет:

form_tag

= form_tag intities_path, :method => :get do   
 Include: 
 - @all_numbers.each do |number|
    = check_box_tag "numbers[#{number}]", "yes", @checked_numbers.has_key?(number)   
= submit_tag 'Refresh'

Как вы видите, если пользователь нажимает "Кнопка «Обновить», все отмеченные флажки будут автоматически переданы контроллеру в виде хеша .

Но мне нужно иметь на своей странице две дополнительные гиперссылки .Примерно так:

%a(href="/entities/?quality=better") Make better
%a(href="/entities/?quality=best") Make best

Я использую их, чтобы передать контроллеру еще один дополнительный параметр - качество.

Есть две проблемы с ними:

  • ЕслиЯ нажимаю гиперссылку, мой код не будет передавать числовой параметр в контроллер.
  • Если я нажму кнопку Обновить, мой код не будет передавать текущий качественный параметр в контроллер.

Как я могу изменить свой код, чтобы при нажатии на гиперссылку или кнопку контроллер получал все параметры: качество и цифры?

Или я могу задать свой вопрос по-другому : у меня естьстраница с некоторым набором параметров.Как я могу изменить один из параметров и обновить ту же страницу?

Ответы [ 2 ]

0 голосов
/ 10 марта 2012

Я нашел ответ сам: hidden_field_tag ​​ для передачи данных в форму отправки и link_to для передачи параметров по ссылке.

0 голосов
/ 09 марта 2012

Вы можете попытаться добавить кнопку (пробовал это с submit) и установить атрибут "name" в что-то вроде "quality" и установить параметр value.Сделайте две из этих кнопок с разными значениями, и в HTTP только клики будет передана в качестве качества.

...