1

首先让我展示一些代码。

class User
  has_and_belongs_to_many :roles
  named_scope :employees, { :conditions => ["roles.name = 'Employee'"], :include => :roles }
end

好的,所以稍后在控制器中我想搜索所有员工。我设置了命名范围以帮助通过连接和条件搜索来做到这一点。但问题出在我想显示所有用户角色的视图中,但它只会显示员工角色。

无论如何我可以说“user.roles”并在我已经迫不及待地加载它之后将它延迟加载到视图中吗?

4

1 回答 1

2

habtm(以及)的文档has_many声明您可以使用可选参数访问集合:

集合(force_reload = false)

返回所有关联对象的数组。如果没有找到,则返回一个空数组。

您可以使用 重新加载角色user.roles(true)

于 2009-05-23T18:47:23.060 回答