Ruby on Rails:如何让多个提交按钮转到不同的方法(也许带有with_action?)

Nul*_*uli 10 ruby forms ruby-on-rails form-submit

所以..

<%= submit_tag 'Save', :name => 'save' %>
<%= submit_tag 'Save to Library', :name => 'library' %>
Run Code Online (Sandbox Code Playgroud)

然后在我的控制器中:

with_action do |a|
    a.save do

    end

    a.library do

    end
end
Run Code Online (Sandbox Code Playgroud)

问题是只有一个动作被调用...对于两个submit_tags都是同一个...任何想法为什么?

或者我如何获得两个按钮将表单提交给两种不同的方法?

Tan*_*ans 18

提交按钮名称属性作为params [:commit]传递给控制器​​.所以在你的情况下:

if params[:commit] == "save"
end
Run Code Online (Sandbox Code Playgroud)

  • 另请参阅/sf/ask/1254142151/#new-answer if您希望根据单击的按钮将特定参数传递给控制器​​. (2认同)