【发布时间】:2012-02-27 23:06:04
【问题描述】:
UsersController#create 中的 ActionDispatch::Cookies::CookieOverflow
当我尝试打开页面时出现此错误。我不知道如何调试此错误。您对这个问题有什么建议吗?
def create
@user = User.new(params[:user])
sign_in @user
if @user.save
@user.folders.create(:folder_name=>"Default Folder", :user_id=>@user.id)
flash[:success] = "Welcome to Bunch<it>! "
redirect_to @user
else
@title = "Sign up"
render 'new'
end
end
def sign_in(user)
cookies.permanent.signed[:remember_token] = [user.id, user.salt]
session[:current_user] = user
current_user = user
end
【问题讨论】:
-
当您在会话中有大量数据/对象时会出现此错误。可以分享一下控制器中创建动作的代码吗?
-
虽然关于更改会话存储的答案是正确的,但我会质疑为什么要将整个用户存储在会话中。如果您必须存储某些内容,请存储 user_id(尽管它已经在您的 cookie 中)
-
只需转到浏览器缓存存储,并清除属于该特定网站 url 的 cookie。对我来说,它主要发生在本地主机中。
-
我使用
Devise创建了一个用户模型,并且在运行迁移后我没有重新启动我的开发服务器。一旦我这样做了,错误就停止了。
标签: ruby-on-rails