显示用户角色:angularjs,rolify,rails app

时间:2013-08-12 00:06:50

标签: javascript ruby-on-rails angularjs devise rolify

我正在设置一个基本的rails应用程序并将angularjs集成到其中。身份验证由设计处理,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

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

任何帮助?

提前感谢:

最高

1 个答案:

答案 0 :(得分:1)

我不熟悉jbuilder(我使用Active Model Serializers在我的Angular-Rails应用程序中渲染json),但是你没有看到角色的原因是因为Rolify将角色添加到用户而不是{{ {1}}对象,而是通过User模型和has_and_belongs_to_many模型之间的Role关联。因此,如果您想要返回用户的角色,则需要创建一个在json中呈现User的Rails控制器操作。

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