sim*_*imo 10 activerecord rspec2 ruby-on-rails-3
我试图Student
在测试中创建一个记录,如下所示:
student= Student.create!(:work_phone => "1234567890")
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
ActiveRecord::UnknownAttributeError: unknown attribute: work_phone
Run Code Online (Sandbox Code Playgroud)
但是,work_phone
在Student
模型中定义并进行迁移.
这是Student
模型:
class Student < ActiveRecord::Base
validates_length_of :work_phone, :is => 10, :message => 'must be 10 digits, excluding special characters such as spaces and dashes. No extension or country code allowed.', :if => Proc.new{|o| !o.work_phone.blank?}
attr_accessible:work_phone
end
Run Code Online (Sandbox Code Playgroud)
任何的想法?
jak*_*ake 28
您是否仅在测试环境中收到此错误.更具体地说,当您使用运行测试时
rake spec
Run Code Online (Sandbox Code Playgroud)
这可能是因为您没有在测试环境中运行迁移.你可以这样做,
rake db:migrate RAILS_ENV=test
Run Code Online (Sandbox Code Playgroud)
或者在您的开发上运行迁移之后,如下所示.
rake db:migrate
rake db:test:prepare
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10701 次 |
最近记录: |