在设置Storytime cms(https://github.com/FlyoverWorks/storytime)时,我想使用我的Admin模型作为用户模型。在storytime.rb初始化程序中,我声明了config.user_class ='Admin',如果我查看Storytime.user_class,那么它将返回我的Admin类。但是,当我转到我的主页时,我在storytime应用程序控制器的第14行中得到一个例外:
elsif current_user.nil?
这并不奇怪,因为我没有用户模型。管理模型是使用Devise设置的。如果我去/ storytime,我得到一个类似的错误,但在这种情况下,authenticate_user的未定义方法!。
如何设置Storytime以将我的Admin模型用作用户?
答案 0 :(得分:2)
似乎Devise根据创建的Devise模型创建了不同的current_ *方法,以便在控制器和视图中使用。 用户类对应 current_user ,而 Admin 类对应 current_admin 。
在您的情况下,Storytime返回 nil ,因为它正在寻找 User 类而不是Storytime.user_class [ Admin ]输入了。
我在Github提交了一个问题,并将在稍后深入探讨解决问题。
更新:此问题应在Storytime 1.0.6中修复!