2011-04-13 63 views
3

我使用设计/康康舞我的应用程序,一切都靓声 - 提供用户创建的帐户和体征色器件/康康舞模拟账户

我希望做的是允许用户无需创建帐户即可开始使用。然后注册,如果他们想实际保存他们的工作。

有没有人遇到过这个?我应该弄清楚如何用设计创建虚拟账户?或允许未经授权的用户通过CanCan访问在我的应用中创建模型?

我可以详细了解我是如何考虑解决这个问题的,但感觉这是一个非常明显的用例,有人提出了一个很好的解决方案。

由于提前, 迈克

回答

1

如果你去与创建虚拟帐户,你就必须通过cookie莫名其妙跟踪用户,并在你的数据库是cookie缓存值。康康确实可以通过能力模型来访客账户。例如:

user ||= User.new # Guest user, for users who are not registered or don't have an account yet 

这就足够了,您可以开始为非注册用户申请权限。但请注意,仅靠Cookie进行跟踪并不是非常可靠,并且可能导致某种安全隐患(即通过cookie劫持)。有一天,用户也可以决定清除他的cookies。

如果需要,我建议让用户与访客帐户进行最小限度的交互,并尽可能激励用户注册/注册Devise。

希望有帮助!

+0

谢谢,现在就以这种方式实现它。似乎目前进展顺利。 – CambridgeMike 2011-04-17 23:47:38

0

我其实正在考虑同样的问题,我有一个日程安排应用程序。要克服我在想这个问题,你使用

user ||= User.new 

像有人建议的上方和使用cookie,一旦用户创建一个帐户来获取数据到数据库中。 这意味着您不必担心清除cookie,因为如果他们想要保存数据,他们会创建一个帐户。