[英]Rails: include code in view immediately after sign_in through devise
我在Rails网站上使用了js实时聊天小部件,有人登录后想在模板中添加一些javascript(这基本上是在告诉我我有一个特定类型的用户在浏览该网站) 。
我在想
after_sign_in_path_for
似乎在正确的位置,但是如何传递参数(例如
{new_session:true}
)的方法如下所示:
def after_sign_in_path_for(resource)
sign_in_url = new_user_session_url
if request.referer == sign_in_url
super
else
stored_location_for(resource) || request.referer || root_path
end
end
即
root_path(new_session:true)
很简单,但是我到底要怎么处理super,storage_location_for和request.referer ...?
无论如何,这似乎是一种非常丑陋的方式...
还有更好的主意吗?
有没有一种明智的方法可以在设计中做到这一点。 例如
-if current_user.just_signed_in?
:javascript
_blah_de_blah.blah{blah;}
这是一个可怕的骇客,如果有人想出一种更好的方法,我将非常高兴...但是...
-if current_user.current_sign_in_at > Time.now - 5.seconds
:javascript
#some javascript code here...
基本上可以完成所需的工作。 显然,如果他们在那5秒钟内点击了多个页面,它将多次发布代码...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.