ruby-on-rails - 使用链接而不是按钮提交 Rails 4 表单

标签 ruby-on-rails ruby

我看到一些类似的问题,但它们似乎是人为设计的,而且主要针对以前版本的 Rails。

提交带有 anchor 标记(链接)而不是普通按钮的表单的最简单方法是什么

<%= f.submit 'Search', :class => "button expand"%>

将其更改为提交链接的最简洁方式(最佳实践)是什么?

最佳答案

我经常使用 js/jquery 来提交表单。如果提交按钮位于表单之外,或者如果有多个按钮提交同一表单,这将非常有用。

$(".submit-btn").click(function(event) {
  event.preventDefault();
  $("#form-id").submit();
});

event.preventDefault(); 阻止默认按钮/提交行为。

这是我在 Rails 4 项目中使用的 coffeescript 示例:

ready = ->
  if $("#form-id").length > 0
    $(".submit-btn").click (event) ->
      event.preventDefault()
      $("#form-id").submit()

$(document).ready ready
$(document).on "page:load", ready

另请注意,这种方式的链接可以是任何类型的元素 - 不一定是提交按钮。您不必在表单内设置提交按钮,但如果您这样做,preventDefault 将阻止默认的表单提交行为。

关于ruby-on-rails - 使用链接而不是按钮提交 Rails 4 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24771281/

相关文章:

ruby-on-rails - ActiveRecord 模型测试的性能

ruby - Sinatra:数组到 HTML 表格

c - 'c' 是 Ruby 中的一个字符还是一个字符串 - 或者两者兼而有之?

ruby-on-rails - ActiveStorage 上传大型 base64 编码字符串?

javascript - Rails i18n 和 javascript 中的路由

ruby - 在 RubyGem 中要求文件的正确方法?

ruby-on-rails - 设计销毁 session 不会销毁 session ?

ruby-on-rails - 使用 Ruby (on Rails) 确认链接创建

ruby-on-rails - 是否可以直接在 ActiveRecord/Rails 中按小时/分钟/刻钟分组?

ruby-on-rails - 基于多对多关系的 Ruby on Rails 中的复选框形式