【发布时间】:2011-07-05 11:31:48
【问题描述】:
在我的应用程序中,有一种情况是我必须创建一个用户来保存消息。
例如,当访问者通过单击按钮创建内容时,就会发生这种情况。其他不点击按钮的用户可以在没有电子邮件的情况下保存消息。
我正在考虑设置一个会话变量,以便应用程序的其他部分可以适应。
类似:
session[:require_email] = true
在消息的控制器中。
def create
更新
更多细节。
访问者创建了一本书。然后他们在书中添加信息。为了保存他们的更改,他们必须留下电子邮件,因为他们是这本书的创建者并对其进行管理。我使用此电子邮件创建帐户,以便验证电子邮件。
然后这个新用户通过两种方式邀请朋友参与。答:他们填写了提供电子邮件的表格。 B:他们通过 facebook 发送带有链接的消息。我已经有了他们的电子邮件,所以他们可以留言并编辑或删除它。
收到电子邮件链接的朋友在我收到他们的电子邮件后立即创建了帐户。
从facebook点击链接的朋友没有账户。他们可以访问这本书并留言,但不必留下他们的电子邮件。这取决于他们。如果他们留下他们的电子邮件,我创建一个用户帐户,然后他们可以编辑他们的消息或删除它等。如果他们不留下他们的电子邮件,则无法编辑或删除他们的消息。
所以这是我必须管理的第三组。我在想,如果他们点击链接,我可以设置会话变量 session[:guest] = true。
然后在控制器中我可以执行以下操作
除非 session[:guest] && params[:user][:email].blank? @user = User.new(params[:user]) 结束
这样可以吗?
这应该在模型中以某种方式完成吗?
【问题讨论】:
标签: ruby-on-rails-3