1
我有一个页面,可以激活停用用户帐户 - 但在激活之前,他们需要分配一个新密码。目前我有两个按钮,执行以下操作:如何将动作调用附加到Rails中的提交按钮?
在“添加密码”形式的到底有此按钮:
在页面上<%= f.submit %>
稍远一点有这个按钮,这台用户状态为“活动”:
<%= standard_button 'Activate user', update_status_user_path(@user),
:method => :patch %>
如果可能,我想将第二个按钮的功能添加到提交按钮。
我不完全掌握表单和按钮背后的魔法,所以我想知道这是否可能,如果是的话,我该如何实现这一点?
当前表单发布到许多其他页面也使用的密码更改方法。所以如果可能的话,我宁愿避免在特定方法中进行更改。不可能有一个按钮做两件独立的事情 - 提交表单并调用一些操作? – Teresa
或者我可能不太了解你的解决方案...... – Teresa
表单只能发布到一个动作,以便动作必须处理更新用户状态。你可以使用javascript来更新用户状态,但这不是可取的。另一种选择是在表单中包含隐藏字段或数据属性。然后该操作可以检查隐藏字段并仅在隐藏字段存在时更新用户状态。或者,表单操作可以检查请求来自哪里,并且仅当请求来自特定页面时才更新用户状态。 – margo