假设我有一个文章模型,并且在文章模型'设置'视图中,我在表单之外有两个提交按钮,“更新详细信息”和“下一个模板”。
我的问题是如何知道在控制器中点击了哪个按钮。两个提交按钮都在一个简单的表单之外。 我尝试过:
<div>
<select data-dojo-props='label:"${i18n.mySelectorLabel}"'>
</select>
</div>
并且控制器上的逻辑相同
<%= f.submit "update Details",name: "update_details", class: "x-update" %>
<%= f.submit 'Next Template', name: "next_template", class: "x-next" %>
但它不起作用。我怎么做?我无法改变路线,所以有没有办法发送一个由[:params]拾取的另一个变量?
答案 0 :(得分:1)
我认为你可以这样做:
npm install -g
可选地,我认为您可以使用相同的名称和不同的值。
ionic lib update
在控制器中:
<%= f.submit "update Details",name: "update_details", value: true, class: "x-update" %>
<%= f.submit 'Next Template', name: "next_template", value: true, class: "x-next" %>
答案 1 :(得分:0)
我通过输入我们的html表单模板来解决它:
<input type="hidden" name= "action_type" id="action_type">
然后在JavaScript文件中我们添加了
$('.x-update').on 'click', ->
$("#action_type").val("exit")
$("#details-form").submit()
然后在控制器文件中我们检查了参数:
if params[:action_type] == "exit"
redirect_to #your desired path
else
redirect_to #based on given path
那是它。它有效。
答案 2 :(得分:0)
尝试在控制器中检查触发提交时获得的参数。
render plain: params
附加您可以在表单旁边使用“hidden_field_tag”选项。
<%= hidden_field_tag 'plan', params[:plan] = 2 %>
答案 3 :(得分:-1)
请尝试将两个按钮放在窗体中,然后尝试使用相同的逻辑。