通过Undefined Method错误测试“应该获得索引”

时间:2013-03-25 14:21:42

标签: ruby-on-rails-3 associations

全部,我定义了以下模型:

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#强制为已知值

但我所做的一切都没有纠正测试失败。我在这里缺少什么,这可能是如何定义测试装置中的数据,还是我错过了核心轨道概念?

一如既往,提前致谢,

理查德

1 个答案:

答案 0 :(得分:0)

如果您正在使用关联,则可以通过在两个不同的灯具之间定义参考节点来解决此问题。