Ruby on rails 2个按钮,1个表格
我有一个简单的表单,看起来是这样的Ruby on rails 2个按钮,1个表格,ruby-on-rails,forms,Ruby On Rails,Forms,我有一个简单的表单,看起来是这样的 <% remote_form_for post, :url => post_path(post), :method => :put do |f| -%> <%= f.submit "Approve" %> <%= f.submit "Deny" %> <% end -%> 所以问题是,如果用户单击“批准”按钮或“拒绝”按钮,则发送的参数是:commit=>“批准” 有人知道与执行相同功能的这
<% remote_form_for post, :url => post_path(post), :method => :put do |f| -%>
<%= f.submit "Approve" %>
<%= f.submit "Deny" %>
<% end -%>
所以问题是,如果用户单击“批准”按钮或“拒绝”按钮,则发送的参数是:commit=>“批准”
有人知道与执行相同功能的这种或另一种(简单)方法相关的错误吗
谢谢。JS-lib(我猜是原型)不知道按下了什么按钮。它只是序列化Ajax请求的表单字段值。使用普通表单POST时,浏览器会将正确的值附加到commit参数
您可以添加隐藏表单字段(例如操作)。然后添加JS代码,在按下相应按钮时(在发送Ajax请求之前)设置隐藏字段的所需值。另一个选项是覆盖第二个按钮的“name”参数
<%= f.submit "Deny", :name => "commit_deny" %>
“提交\拒绝”%>
我认为每个表单提交都是唯一的(HTML内容),所以yopu有两个选项:
出于某种原因,我害怕任何形式为“2x,1y”的标题对不起,这可能被认为是不好的“形式”,但我想要一些能吸引你眼球的东西;)@vrish88,我不认为这是坏的形式,但它是关于你有哪些协会。可悲的是,这不起作用。当Prototype序列化表单时,它使用它看到的第一个submit按钮。实际上,它同时使用两个参数,然后rails只保留第一个。
@post.approved = params[:commit] == 'Approve' ? true : false
<%= f.submit "Deny", :name => "commit_deny" %>