全部,我定义了以下模型:
class Role < ActiveRecord::Base
attr_accessible :name
has_many :users
validates :name, presence: true
validates :name, uniqueness: true
end
和
class User < ActiveRecord::Base
attr_accessible :abv, :first_name, :full_name, :last_name, :role_id
has_many :defects
belongs_to :role
validates :first_name, :last_name, :full_name, :abv, :role_id, presence: true
validates :full_name, :abv, uniqueness: true
end
我最近更改了视图用户'索引'以将user.role_id字段显示到user.role.name以使视图更友好!这很棒!但是,当运行rake测试users_controller_test时会出现以下错误:
1)错误: test_should_get_index(的UsersControllerTest): ActionView :: Template :: Error:nil的未定义方法`name':NilClass
在搜索博客后,我发现引用了擦除和重新创建测试数据库的工作,并在控制器中更改了“应该获取索引”测试
get :index
要 get:index,:user.role_id =&gt; 1#强制为已知值
但我所做的一切都没有纠正测试失败。我在这里缺少什么,这可能是如何定义测试装置中的数据,还是我错过了核心轨道概念?
一如既往,提前致谢,
理查德
答案 0 :(得分:0)
如果您正在使用关联,则可以通过在两个不同的灯具之间定义参考节点来解决此问题。