我写了如下:

<% if @document != nil %>
<%= form_for(@document, :html => { :multipart => true }) do |f| %>
  <% if @document.errors.any? %>
<div id="error_explanation">
  <h2><%= pluralize(@document.errors.count, "error") %> prohibited this document from being saved:</h2>

  <ul>
  <% @document.errors.full_messages.each do |message| %>
    <li><%= message %></li>
  <% end %>
  </ul>
</div>
<% end %>
<% if notice %>
  <p id="notice"><%= notice %></p>
<% end %>
<%= render partial: 'documents/resume' %>
<div id="add_buttons">
  <%= f.file_field :resume %>
  <%= f.submit %>
</div>
<% end %>
<% else %>
<h1>No Document Available</h1>
<% end %>

很抱歉缩进,复制/粘贴没有正确粘贴。不管怎样,这是使用回形针和工程罚款上传一个文件,只要在简历部分,我已经列出了我有我的删除按钮注释掉以下是该部分的代码:
<div class='Resume_1'>
  <%#= @current_user = session[:user] %>
  <%#= @document = @current_user[:document] %>
  Current Resume:
  <%= render partial: 'documents/resumelink' %>
</div>
<div class='Resume_2'>
  <% if (@document != nil) && (@document.resume_file_name != nil) %>
    <%= button_to "Delete Resume", @document, method: :delete, data: { confirm: 'Are you sure you wish to delete your resume?' } %>
  <% end %>
</div>

如果按钮“到”行被注释掉,则“更新文档(f.submit)”按钮可以正常工作。但是,如果button_to line保留在中,则f.submit按钮不会执行任何操作这里是destroy函数(这是delete方法被路由到的地方),因为这似乎也不会删除简历。
  def destroy
    @document.resume = nil
    respond_to do |format|
      format.html { redirect_to welcome_url, notice: 'Resume was successfully deleted.' }
      format.json { head :no_content }
    end
  end

谢谢你的帮助。

最佳答案

如果你看docsbutton_to helper生成的html是

<%= button_to "New", action: "new" %>
# => "<form method="post" action="/controller/new" class="button_to">
#      <div><input value="New" type="submit" /></div>
#    </form>"

所以当你在表单中有一个按钮时,你基本上在表单中有一个表单,因此你的提交按钮不起作用。
修复:
而不是使用按钮使用link_to helper并提供引导类或一些自定义类使其看起来像按钮
<%= link_to "Delete Resume", @document, class: "btn btn-default" method: :delete, data: { confirm: 'Are you sure you wish to delete your resume?' } %>

关于ruby-on-rails - Ruby on Rails多个按钮,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25063317/

10-14 17:59
查看更多