如何捕获符号的值:在 rails 中确认

how to catch value of symbol :confirm in rails

<%= f.submit "#{t('next_text')}", :class => "submit_button" ,:confirm=>'Edit all copies?'%>

如何在 rails 2.3.5 中获取 :confirm 的值(真或假)? 我需要这个值在 controller 中做一些动作。

最简单的解决方案是在您的表单中添加一个复选框,以确定是否编辑所有副本。

如果您确实需要提交时的确认框,请将 onSubmit 处理程序附加到表单

<% form_for(@some_model, :html=> {:class => 'edit_confirmation'}) do |f| %>
  <%= hidden_field_tag :edit_all, 0 %> 
  ....
<% end %>

javascript 使用 jQuery:

$('form.edit_confirmation').on('submit', function(e) {

  // the hidden field
  var field  = $('input#edit_all');

  if(confirm("Edit all copies?")) {
    field.val(1); 
  } else {
    field.val(0);
  }

  return true;
});

在您的控制器中,您可以通过 params[:edit_all]

获得结果