我写了如下:
<% 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/