Rails教程失败(Hartl)第7节 - "未知属性:密码"

use*_*494 4 ruby-on-rails-3

我在论坛上搜索了这个问题,并在spork网站上使用了一个解决方案,从规范选项中删除"--drb",让它加载并运行,但这个持久性错误仍然会弹出.我也没有spork运行它.我已经提前读了一堆rspec信息,并且通过spork信息进行了挖掘,但还没有.我还检查了拼写错误,缩进,编码等问题,但我仍处于亏损状态.其他问题,我已经能够解决,但这一个让我.如果有人有建议,请在下面给出:

失败:

1)用户密码加密has_password?如果密码不匹配,则方法应为false失败/错误:@user = User.create!(@ attr)ActiveRecord :: UnknownAttributeError:unknown属性:password#./ spec/model/user_spec.rb:94:in`阻止(3级)'

完成0.836秒1例,1次失败< - Slave(1)运行完毕!

Gra*_*Roy 8

您确定已添加:密码作为用户模型的虚拟属性吗?这很容易错过,但你需要包括这条线

attr_accessor :password
Run Code Online (Sandbox Code Playgroud)

  • attr_accessor将密码设置为模型上的虚拟属性以及对其的访问方法(获取和设置).attr_accessible稍有不同,因为它表明属性是否可以从模型外部访问.如果你看一下模型上的其他一些属性,这些属性在它之外是不可见的(encrypted_pa​​ssword和salt属性就是这个的好例子),这意味着控制器不能对它们做任何事情,只有模型知道它们(和应该). (2认同)