【问题标题】:How can I enable customized action with CanCan?如何使用 CanCan 启用自定义操作?
【发布时间】:2012-12-16 07:05:49
【问题描述】:

我的控制器中有名为“关注”和“取消关注”的操作。
显然,CanCan 不会识别这些操作,因此在执行这些操作时会显示拒绝访问。

alias_action :follow, :unfollow :to => :read

我将此行添加到 ability.rb 然后它现在可以正常工作了。
但问题是当用户未登录时,它会显示这样的错误

syntax error, unexpected ':', expecting keyword_end
    alias_action :follow, :unfollow :to => :read

我只在用户登录时启用这些操作。
我怎样才能?我应该在 ability.rb 中添加什么?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 cancan


    【解决方案1】:

    假设你的控制器是UsersController,你可以在你的ability.rb fie中做到这一点

    def initialize(user)
      user || = User.new
      if user.roles.include?('tweeple')    #Assuming the user with role tweeple can follow/ unfollow
        can [:follow, :unfollow], User
      end
    end
    

    【讨论】:

      【解决方案2】:

      你好像少了一个逗号:

      alias_action :follow, :unfollow, :to => :read
      

      here

      【讨论】:

        猜你喜欢
        • 2012-10-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-14
        相关资源
        最近更新 更多