我有一个模型“用户”并且正在使用会话。
允许用户在未登录的情况下修改会话中的 User.new 对象,而无需实际保存用户。
我想让尚未登录的用户查看他们的 Users#Show 页面。
做这个的最好方式是什么?
谢谢!
我有一个模型“用户”并且正在使用会话。
允许用户在未登录的情况下修改会话中的 User.new 对象,而无需实际保存用户。
我想让尚未登录的用户查看他们的 Users#Show 页面。
做这个的最好方式是什么?
谢谢!
上面的答案有效。我正在寻找“基于会话的模型”模式。有一个 关于基于会话的模型的 Railscast,我发现它对使用这种模式非常有帮助。
在您的控制器中,您可以执行以下操作:
def show
@user = current_user || session[:current_user]
end
因此,如果有,您将获得 current_user,如果没有,则从会话中读取。
不过,在会话中存储整个模型通常很糟糕。如果更改基础类,则会话中的对象将无法正确解组,因此请确保reset_session
在更改 User 类后重置会话,否则会出现许多奇怪的错误。