Ruby on rails rails表单中的多个提交按钮
我试图在为产品创建对象之前实现“预览”功能。我跟随Ryan Bates railscast这样做,他通过传递一个参数:name和submit按钮来实现Ruby on rails rails表单中的多个提交按钮,ruby-on-rails,Ruby On Rails,我试图在为产品创建对象之前实现“预览”功能。我跟随Ryan Bates railscast这样做,他通过传递一个参数:name和submit按钮来实现 <%= submit_tag 'Preview', :name => 'preview_button' %> “预览”按钮“%” 但是,在我的情况下,它不起作用,不知道为什么,可能是因为我使用的是rails 3,我说不出来,但我在用提交按钮添加:name=>“preview\u button”时没有看到任何更改。有人能给我推
<%= submit_tag 'Preview', :name => 'preview_button' %>
“预览”按钮“%”
但是,在我的情况下,它不起作用,不知道为什么,可能是因为我使用的是rails 3,我说不出来,但我在用提交按钮添加:name=>“preview\u button”时没有看到任何更改。有人能给我推荐一个解决方案吗?您需要添加两个具有不同名称的提交按钮
<%= submit_tag 'Submit', :name => 'submit_button' %>
<%= submit_tag 'Preview', :name => 'preview_button' %>
您需要添加两个具有不同名称的提交按钮
<%= submit_tag 'Submit', :name => 'submit_button' %>
<%= submit_tag 'Preview', :name => 'preview_button' %>
再加上Paulo的答案,根据commit param路由到不同的操作可能更好 我们解决了在rails中使用 其思想是具有相同的路径(因此具有相同的命名路由和动作),但约束路由到不同的动作
resources :plan do
post :save, constraints: CommitParamRouting.new("Propose"), action: :propose
post :save, constraints: CommitParamRouting.new("Finalize"), action: :finalize
end
CommitParamRouting
是一个简单的类,它有一个方法matches?
,如果commit参数与给定实例attr匹配,则返回true。价值观
这是一个gem。添加Paulo的答案,根据commit参数路由到不同的操作可能更好 我们解决了在rails中使用 其思想是具有相同的路径(因此具有相同的命名路由和动作),但约束路由到不同的动作
resources :plan do
post :save, constraints: CommitParamRouting.new("Propose"), action: :propose
post :save, constraints: CommitParamRouting.new("Finalize"), action: :finalize
end
CommitParamRouting
是一个简单的类,它有一个方法matches?
,如果commit参数与给定实例attr匹配,则返回true。价值观
这可作为gem提供。请包括您正在使用的控制器代码。请包括您正在使用的控制器代码。