Многократная кнопка Отправить в форме рельсов - PullRequest
0 голосов
/ 28 марта 2011

Я пытаюсь реализовать функцию «Предварительный просмотр» перед созданием объекта для продукта.Я последовал за Райаном Бейтсом и сделал это, передав ему параметр: name с помощью кнопки отправки.

<%= submit_tag 'Preview', :name => 'preview_button' %>

Однако в моем случае это не работает, не знаю почему, можетбыть, потому что я использую рельсы 3, я не могу сказать, но я не вижу никаких изменений, когда я добавляю: name => 'preview_button' с кнопкой отправки.Кто-нибудь может предложить мне решение?

Ответы [ 2 ]

3 голосов
/ 27 октября 2013

Добавляя ответ Пауло, возможно, было бы лучше направить на различные действия, основанные на параметре коммита.

Мы решили использовать расширенные ограничения в рельсах.

Идея состоит в том, чтобы иметь один и тот же путь (и, следовательно, один и тот же названный маршрут и действие), но с ограничениями, маршрутизирующими к различным действиям.

resources :plan do
  post :save, constraints: CommitParamRouting.new("Propose"), action: :propose
  post :save, constraints: CommitParamRouting.new("Finalize"), action: :finalize
end

CommitParamRouting - это простой класс, имеющий метод matches?, который возвращает значение true, если параметр коммита соответствует данному атрибуту экземпляра. значение.

Доступен как драгоценный камень commit_param_matching .

0 голосов
/ 22 февраля 2013

Вам нужно добавить две кнопки отправки с разными именами

<%= submit_tag 'Submit', :name => 'submit_button' %>
<%= submit_tag 'Preview', :name => 'preview_button' %>

тогда в вашем контроллере нужно проверить параметры:

if params[:commit] == "Submit"
# do great stuff
end
if params[:preview] == "Preview"
# preview great stuff
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...