【问题标题】:show user roles: angularjs, rolify, rails app显示用户角色:angularjs、rolify、rails app
【发布时间】:2013-08-12 00:06:50
【问题描述】:

我正在设置一个基本的 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

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

有什么帮助吗?

提前致谢:

最大

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 这基本上也是我自己想出来的。感谢您的反馈
    猜你喜欢
    • 2015-08-01
    • 2017-03-06
    • 1970-01-01
    • 2016-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    相关资源
    最近更新 更多