作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目前,我有一个设计用的Rails 3应用程序。它要求用户注册/登录才能访问。
我想启用访客用户。这样,当用户访问某些 View 时,将为该用户创建访客用户帐户,然后在他们进行身份验证/注册时/如果该访客用户被升级为普通用户。
将该应用程序视为聊天室。我希望 guest 用户能够加入聊天室,然后稍后通过oauth进入twitter进行注册。但是我不想强制用户在加入之前进行注册。
有什么建议吗?
我发现了这个:https://github.com/plataformatec/devise/wiki/How-To:-Create-a-guest-user
问题是我添加了帮助程序,但不了解如何启动current_or_guest_user。还不确定如何根据特定的允许 View 启动?
有任何想法吗?指针?谢谢
最佳答案
另一个更透明的方式是这样的:
def current_user
super || guest_user
end
private
def guest_user
User.find(session[:guest_user_id].nil? ? session[:guest_user_id] = create_guest_user.id : session[:guest_user_id])
end
def create_guest_user
u = User.create(:name => "guest", :email => "guest_#{Time.now.to_i}#{rand(99)}@example.com")
u.save(:validate => false)
u
end
关于ruby-on-rails - 如何在Rails 3 + Devise中创建访客用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6391883/
我是一名优秀的程序员,十分优秀!