我在我的应用程序中使用devise和ldap来验证用户身份。我已经设置了用户模型以及设计。我可以正确登录并注销用户,但我无法访问内置帮助器中的设备的任何信息; CURRENT_USER。
我希望应用程序的主页面在页面顶部显示当前用户名。我在users表中创建了名为display_name的列。
这是我想要的代码:
Text {
...
property var dateOf: new Date(myTimeInMilliseconds)
text: dateOf.toLocaleDateString() + " " + dateOf.toLocaleTimeString()
}
当我使用byebug并尝试访问当前用户时,它返回nil。
有没有人对如何访问当前用户信息有任何建议?
更新
我尝试过使用:<% if user_signed_in? %>
<div> <%= current_user.display_name %> </div>
<% end %>
但我仍然得到同样的错误:未定义的方法`display_name&#39;为零:NilClass
答案 0 :(得分:1)
答案 1 :(得分:0)
您使用的是哪个LDAP gem? devise_ldap_authenticatable
?
您需要在ApplicationController中定义一个实例变量@current_user
,并根据经过身份验证的LDAP帐户将其设置为正确的用户记录。
然后,在登录期间,您需要设置@current_user的值,并在注销时需要将其设置为nil。
因此,对于登录和注销,您必须在Session#create和Session#destroy中实现此功能