我设置了一个假用户来演示我的应用程序。这个想法是,那些不会登录的访问者仍然应该能够看到真实用户拥有的所有功能。当未登录的访问者登录该网站时,该应用将登录演示用户,访问者将看到属于该演示用户的假数据。如何为演示目的设置默认current_user
考虑到这个目标,我设置了我的应用程序控制器。
class ApplicationController < ActionController::Base
protect_from_forgery
before_filter :set_current_user
def demo_user
@demo_user ||= User.find_by_email("[email protected]")
end
protected
def set_current_user
if current_user.nil?
sign_in(demo_user)
end
end
end
我的问题是我不小心,不可能真正的用户登录。任何时候,真正的用户按下连结的“符号”,他们告诉记者,他们已经登录(如演示用户)。
很明显,我所做的事情远不及“最佳实践”。一个聪明的程序员在这种情况下会做什么?如何保持我的漂亮自动登录演示用户,但仍然让真正的用户登录开放?
为什么你需要一个假的用户又是什么,在用户未签名无法看到和登录的用户可以将内容?你如何停止未登录的用户不要看到它? 您还可以轻松让未登录的用户执行任何真实用户的操作(即创建帖子,删除帖子等)。 – Zippie 2013-03-15 15:06:29
如何添加另一个按钮与登录演示用户,所以你不必在过滤器之前搞砸了? – 2013-03-15 20:26:22