1

我正在设置一个基本的 rails 应用程序并将 angularjs 集成到其中。身份验证由 devise 处理,cancan 和角色由 rolify 管理。我正在尝试构建用户索引页面并在页面上显示每个用户的角色,但似乎无法使其正常工作。jbuilder 返回每个用户的信息,但角色不在那里。

index.json.jbuilder

json.array!(@users) do |user|
  json.id           user.id
  json.name         user.name
  json.email        user.user.email
  json.street       user.street
  json.city         user.city
  json.state        user.state
  json.zip          user.zip
  json.home_phone   user.home_phone
  json.cell_phone   user.cell_phone
  json.alt_email    user.alt_email
  json.start_year   user.start_year
  json.notes        user.notes
  json.confirmed    user.confirmed
  json.nickname     user.nickname
end

我的用户模型、控制器或索引页面没有什么特别之处(我试图在索引页面上为用户显示索引条目中的角色)

有什么帮助吗?

提前致谢:

最大限度

4

1 回答 1

1

我不熟悉 jbuilder(我使用 Active Model Serializers 在我的 Angular-Rails 应用程序中呈现 json),但您没有看到角色的原因是因为 Rolify 不是作为User对象的属性而是通过模型和模型之间的has_and_belongs_to_many关联。因此,如果您想返回用户的角色,您需要创建一个以 json 呈现的 Rails 控制器操作。RoleUser/users/:user_id/roles

然后我可能会创建一个Role工厂来初始化$resource您的 Angular 代码中的对象并将其与该路由匹配,以便您可以访问具有给定 ID 的用户的角色。

于 2013-10-25T09:01:48.773 回答