轨道上没有按钮或图像的提交标签

Nic*_*nto 3 form-submit ruby-on-rails-3

如何以表单形式创建提交操作,而不是通过按钮(带有submit_tag)而不是通过图像(image_submit_tag)?

我希望提交内容是可点击的文本,例如链接

谢谢

agm*_*eod 5

您需要使用 javascript 来完成此操作,因为链接是 GET 请求,而不是 post 请求。假设您有以下代码:

<%= form_for @post, :html => { :id => 'form' } do |f| %>
  <div class="field">
    <%= f.label :title %>
    <%= f.text_field :title %>
  </div>
  <div class="field">
    <%= f.label :body %>
    <%= f.text_area :body %>
  </div>
  <div class="actions">
    <a id="submit">Submit</a>
  </div>
<% end %>
Run Code Online (Sandbox Code Playgroud)

然后,您需要将以下内容添加到您的 javascript 文件之一。如果您使用的是 < Rails 3.1,只需将其添加到您的 application.js 中即可。如果您使用的是Rails 3.1,请将其添加到assets/javascripts 目录中的js 文件之一。

$(function() {
  $('#submit').click(function() {
    $('#form').submit();
  });
});
Run Code Online (Sandbox Code Playgroud)

也就是说,您可以将方法选项传递到 link_to 方法调用中,以使用 POST。但是,仅在没有 JavaScript 的情况下执行此操作将不会提交任何表单数据。因此,您要么必须执行上述操作,要么使用 javascript 将数据添加到 url,就像在查询字符串中一样。