【问题标题】:Use of CanCan to show part of view to user with a specific role使用 CanCan 向具有特定角色的用户显示部分视图
【发布时间】:2020-04-01 18:08:13
【问题描述】:
Rails
CanCan Gem

在views/books/index.html.slim中,查看,我有以下内容:

.form-horizontal-column.autowidth
  .form-group.wtht-label
    = button_to t('download_invoice'), acocunts_receivables_path, class: "btn btn-primary"

但是,如果用户的角色是 cfo,我只想显示此按钮/链接

所以,在 models/ability.rb 中,我有:

if user.cfo?
  can :manage, Invoice

如何将 CanCan 的使用扩展到索引视图的那部分,以便只有具有 cfo 角色的用户才能看到此按钮?

【问题讨论】:

标签: ruby-on-rails cancan


【解决方案1】:

你可以把if语句放在haml中。

.form-horizontal-column.autowidth
  .form-group.wtht-label
    - if can? :manage, Invoice
      = button_to t('download_invoice'), acocunts_receivables_path, class: "btn btn-primary"

【讨论】:

  • 在这种情况下,我有一个 AccountsReceivablesController,但没有模型。我可以在 Ability.rb 中定义:can :download, AccountsReceivableController
  • can :download, :accounts_receivable
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-16
  • 2017-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多