Ruby on rails 未定义的方法'first_name=';对于#用户
我有一个模型:Ruby on rails 未定义的方法'first_name=';对于#用户,ruby-on-rails,Ruby On Rails,我有一个模型: class User < ActiveRecord::Base attr_accessible :login, :password, :email, :first_name, :middle_name, :last_name, :phone end 尝
class User < ActiveRecord::Base
attr_accessible :login,
:password,
:email,
:first_name,
:middle_name,
:last_name,
:phone
end
尝试在文件test/functional/users\u controller\u test.rb中替换
require 'test_helper'
class UsersControllerTest < ActionController::TestCase
setup do
@user = create :user
end
...
角色
setup do
@user = create :user
end
借
或者更好:
let(:user) { create :user }
但是,如果选择最后一种方法,则必须在此文件中通过
user
重命名所有@user
,并验证您的场景没有使用user
局部变量。如果您还不清楚这一点,请坚持使用之前的技术。尝试使用最新的迁移更新您的测试数据库(如果您还没有这样做)。rake db:test:load从当前db/schema.rb重新创建测试数据库
rake db:test:load
错误“未定义#的方法`attribute='”似乎您忘记了在测试环境中迁移数据库。快跑
RAILS_ENV=test rake db:migrate
对我来说,first_name是模型中的新属性,但我忘记了在测试环境中迁移数据库。我可能遗漏了一些东西,为什么已经有两张反对票?
let(:user) { create :user }
rake db:test:load
RAILS_ENV=test rake db:migrate