Для людей, которые пришли сюда через Google, у меня есть улучшение в ответе Zequez.Вместо того, чтобы метод, который он дает, добавьте этот метод к помощнику приложения:
def link_to_submit(*args, &block)
link_to_function (block_given? ? capture(&block) : args[0]), "$(this).closest('form').submit()", args.extract_options!
end
Тогда, как сказал Zequez, для простых ссылок вы можете просто сделать это в своем представлении:
<%= link_to_submit 'Submit Form' %>
... и для более сложных кнопок вы можете передать параметры HTML и блок, который будет использоваться внутри ссылки.Например, если вы используете Twitter Bootstrap, это позволяет добавлять классы CSS, форматирование и значки:
<%= link_to_submit( class: 'btn btn-primary' ) do %>
<strong>Submit</strong> the Form <i class="icon-arrow-right"></i>
<% end %>
Код JQuery будет работать, пока ссылка является дочерней по отношению к форме (то есть какпока link_to_submit
вызывается откуда-то внутри блока form_for
).