Как я создаю несколько кнопок отправки для той же формы в направляющих?

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

У меня есть форма, которая создает экземпляр Contact_Call.

Одна кнопка создает его как нормальный.

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

Как я делаю это? Я не могу изменить маршрут, так есть ли способ отправить другую переменную, которая взята [: параметрические усилители]?

И если я делаю затем, что я делаю в контроллере, настройте оператор выбора?

91
задан the Tin Man 6 January 2015 в 20:51
поделиться

1 ответ

Вы можете создать несколько кнопок отправки и предоставить каждой из них разные значения:

<% form_for(something) do |f| %>
    ..
    <%= f.submit 'A' %>
    <%= f.submit 'B' %>
    ..
<% end %>

Будет выведено:

<input type="submit" value="A" id=".." name="commit" />
<input type="submit" value="B" id=".." name="commit" />

Внутри вашего контроллера значение отправленной кнопки будет идентифицировано параметром commit . Проверьте значение, чтобы выполнить требуемую обработку:

def <controller action>
    if params[:commit] == 'A'
        # A was pressed 
    elsif params[:commit] == 'B'
        # B was pressed
    end
end

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

125
ответ дан 24 November 2019 в 06:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: