问题描述
目前我有一个rails 3应用程序与设计。它需要用户注册/登录才能访问。
我想启用访客用户。因此,当用户访问某些视图时,会为该用户创建访客用户帐户,然后如果/当他们验证/注册该访客用户时,升级到普通用户。
建议?
我发现这个:
问题是我添加了助手,但不明白如何启动current_or_guest_user。也不知道如何启动每个特定的允许的观点?
任何想法?指针?谢谢
另一种更透明的方式是:
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
currently I have a rails 3 app with devise. it requires the users to register / signin for access.
I would like to enable guest users. So that when a user visits certain views a guest user account is created for that user and then if/when they authenticate/register that guest user is then upgraded to a normal user.
Think of the app as a chat room. I want guest users to be able to join the chat room, then later oauth into twitter to register. But I don't want to force users to register before joining.
Suggestions?
I found this: https://github.com/plataformatec/devise/wiki/How-To:-Create-a-guest-user
Problem with that is I added the helper, but don't understand how to initiate current_or_guest_user. Also not sure how to initiate per specific allowed views?
Any ideas? Pointers? Thanks
Another more transparent way is this:
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
这篇关于如何在Rails 3 + Devise中创建访客用户的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!