加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何在集成测试中访问虚拟remember_token属性

发布时间:2020-12-16 22:14:09 所属栏目:百科 来源:网络整理
导读:我正在第8章研究michal hart的 Ruby on rails教程 Click here for details,我在练习8.6中遇到困难,作者介绍了一种在集成测试中访问虚拟remember_token属性的方法,他为我们留下了一些工作, assert_equal assigns(:user).FILL_IN,FILL_IN 我应该用“FILL_IN”
我正在第8章研究michal hart的 Ruby on rails教程
Click here for details,我在练习8.6中遇到困难,作者介绍了一种在集成测试中访问虚拟remember_token属性的方法,他为我们留下了一些工作,
assert_equal assigns(:user).FILL_IN,FILL_IN

我应该用“FILL_IN”占位符替换正确的代码.我想不出正确的那个.我试过了

assert_equal assigns(:user).cookies,remember_token

应用程序/控制器/ sessions_controller.rb

def create
     @user = User.find_by(email: params[:session][:email].downcase)
    if @user && @user.authenticate(params[:session][:password])
      log_in @user
      params[:session][:remember_me] == '1' ? remember(@user) : forget(@user)
      redirect_to @user

但它不起作用,
误差修改:

"test_login_with_remembering",UsersLoginTest,0.590876]
 test_login_with_remembering#UsersLoginTest (0.59s)
NoMethodError:         NoMethodError: undefined method `cookies' for #<User:0x007f964f1a91d0>

我知道这很简单,我实际做了一些研究,似乎没有人问过同样的问题,因为这个教程很新.
请理解我只是一个初学者,如果你能帮助我解决这个问题,我将不胜感激.

解决方法

我通过购买迈克尔的书得到了答案.答案包含在解决方案手册中.我认为值得分享,因为我问过这个问题
assert_equal assigns(:user).remember_token,cookies['remember_token']

值得一提的是,阅读ruby语言对于理解这段代码非常有帮助.我的问题是在我参加铁路研究之前我没有做太多关于Ruby的阅读,但这不是一个大问题,我刚刚转到Ruby的开头是为了更深入地了解Ruby语言!祝好运

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读