Ruby on rails 没有这样的列用户。还记得吗

Ruby on rails 没有这样的列用户。还记得吗,ruby-on-rails,devise,Ruby On Rails,Devise,我试图用一种非常简单的方式在我的应用程序上使用rememberable,但是当我选中Rememberme复选框时,我得到了以下错误 SQLite3::SQLException:没有这样的列:users.memored_token:从users.memored_token=?按用户订购。id ASC限制 这是我的用户迁移 类migrateUserToDevice

我试图用一种非常简单的方式在我的应用程序上使用rememberable,但是当我选中Rememberme复选框时,我得到了以下错误

SQLite3::SQLException:没有这样的列:users.memored_token:从users.memored_token=?按用户订购。id ASC限制

这是我的用户迁移

类migrateUserToDevice 로그인 我认为我不应该在我的用户模型中需要一个memory_token列,但我不明白为什么会出现这个错误

多谢各位

编辑:

这是我的User.rb

类用户<应用程序记录 设计:数据库可验证,可注册, :可恢复的;可记忆的 属性访问器:记住\u令牌,:重置\u令牌 有多个:收藏夹、从属::删除所有 有很多:最喜欢的文章,通过::收藏夹,源::文章,依赖::删除所有 有多个:upvots,dependent::nullify 有很多:upvote\u文章,通过::upvotes,source::article,dependent::nullify 有多个:报告、从属::无效 有很多:报告文章,通过::报告,来源::文章 有很多:report\u评论,通过::reports,source::comment 有很多:注释,依赖::无效 有很多:文章,依赖::无效 验证:昵称,唯一性:true,存在性:true,排除:{in:%wadmin developer modo, 消息:%{value}是保留的。} 验证:密码,状态:true,长度:{minimum:5},allow_nil:true 序列化:已保存的文章,数组 不使用\u密码覆盖更新\u def update_不带密码参数,*选项 如果参数[:密码]。为空? 参数删除:密码 params.delete:password\u confirmation如果params[:password\u confirmation],是否为空? 终止 结果=更新属性参数,*选项 清除密码 后果 终止 终止
由于您添加了一个memory_token attr_accessor,因此您正在覆盖designe module方法,下面是声明


更改属性的名称应该可以解决问题。

您使用的是旧版本的Deviate吗?提到不再需要记住令牌:Desive现在总是使用密码salt作为记住令牌的基础。您可以从模型中删除“记住”标记列,并将“设计.使用”标记“作为记住”标记设置为“真”。可能还需要将designe.use_salt_as_memory_token设置为true。我正在使用自应用程序开始以来的designe的最新版本。尝试添加designe.use_salt_as_memory_token=true不起作用未定义的方法use_salt_as_memory_token='对于designe:Module NoMethodError`@Gaeguri在designe初始化时是否在模型中添加了rememberable?删除attr_访问器,rememberable模块将处理该问题,未检查,但是您可能会用它覆盖默认行为,现在它工作得很好。我有一块记得我的饼干。非常感谢。你应该成为answser@Alexis然后我可以给你赏金: