我正在通过(优秀)railstutorial.org网站有关于rspec的基本问题.
当我在新的用户模型下运行以下测试时,我得到一个“未知的属性:用户名”消息和失败的测试.
before(:each) do @attr = { :lname_e => "User",:fname_e => "Test",:email => "user@example.com",:username => "testUser" } end it "should create a new instance given valid attributes" do User.create!(@attr) end
错误语法是
Failures: 1) User should create a new instance given valid attributes Failure/Error: User.create!(@attr) unknown attribute: username # ./spec/models/user_spec.rb:11:in `block (2 levels) in <top (required)>'
该字段位于users表(字符串)中,它在模型中为attr_accessible,在控制台中,我可以在测试中创建一个完全相同语法的用户.这个“用户名”字段是在创建初始表之后通过迁移添加的,是否有其他文件需要在这里更新?
谢谢,
解决方法
你运行rake db:test:prepare?