ruby-on-rails - 如何在 Controller 中获取 f.submit 的名称参数?

标签 ruby-on-rails ruby-on-rails-3

我创建了_form.html.erb,其中的编码如下

<%= form_for @book, :html => { :class => 'form-horizontal' } do |f| %>
....
    <%= f.submit nil, :class => 'btn btn-primary', :name => 'update' %>
    <%= f.submit 'Destroy', :class => 'btn btn-danger', :name => 'destroy' %>
....
<% end %>

是的,我确实以相同的形式提交了 2 个提交,并且它们都具有诸如“更新”和“销毁”之类的名称。

当用户按下销毁按钮时,books_controller 中的更新操作将被调用。
并判断它是“更新”还是“销毁”请求。
为此,如何在 Controller 中获取其名称参数?

更新操作将是这样的
def update

 if params[:books][:name] == 'destroy'
  destroy transaction
 else
  update transaction
 end

end 

最佳答案

尝试这个,

<%= f.submit 'Update', :class => 'btn btn-primary', :name => 'submit' %>
<%= f.submit 'Destroy', :class => 'btn btn-danger', :name => 'submit' %>

现在当你更新 你会得到 params[:submit]作为“更新”和
当你销毁 你会得到 params[:submit]作为 Controller 中的“销毁”

关于ruby-on-rails - 如何在 Controller 中获取 f.submit 的名称参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13987512/

相关文章:

ruby-on-rails - 如何在数据库中存储一周中的工作日

ruby-on-rails - Rails 委托(delegate)和别名 - 无限循环?

ruby-on-rails - Tomcat 无法使用 JRuby war 定位 jdbcmysql 适配器

ruby - 在 ruby​​ 中使用 Savon gem 发送 SOAP 请求

ruby - 事件记录查询

ruby-on-rails - 为什么在 Ruby 中有时需要括号?

ruby-on-rails - 如何在 Rails 3 中为哈希中的变量应用 attr_accessor

ruby-on-rails - Rails 3 :dependent on has_many and belongs_to 的默认值是多少

html - 添加将 html 转换为 msword 文档的功能

ruby-on-rails - as_json 没有在关联上调用 as_json