我有一个表单,用户可以在其中填写包含email_id列的表单字段的详细信息
现在,如果用户已登录,则会出现一个链接说明
“ NOT USER NAME ”例如“ NOT VIREN NEGI ”反对那个电子邮件字段,这将是一个ajax请求。破坏设计会话
一旦用户单击链接,设计会话将被破坏,并且在 ajax 成功时,上述锚标记将消失
我已经通过 Moneypatching Devise 的 destroy 方法实现了这个解决方案,例如
class DeviseSessionsController < DeviseController
def destroy
.... DEVISE CODE ...
.... DEVISE CODE ...
.... DEVISE CODE ...
respond_to do |format|
if request.xhr? **## My Hack**
format.js { render :partial => 'users/signout' } **## render signout partial on ajax request**
else
format.any(*navigational_formats) { redirect_to redirect_path }
format.all do
method = "to_#{request_format}"
text = {}.respond_to?(method) ? {}.send(method) : ""
render :text => text, :status => :ok
end
end
end
end
end
虽然这一切似乎都有效,但因为但我对此并不满意
- 如果设计已更新,则不适合,并且将来的销毁方法可能看起来与当前不同
- 我已经复制了 devise/sessions_controller 的所有其他操作方法,以使设计工作没有任何问题
谁可以帮我这个事
请避免回答monkeypatching 不好让我阅读有关monkeypatching 的所有内容(我知道),这就是为什么发布问题的原因。
谢谢你