我正在设置一个基本的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
我的用户模型,控制器或索引页面没什么特别的(我试图在索引页面上显示用户索引条目中的角色)
任何帮助?
提前感谢:
最高
答案 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的用户的角色。