Koudoku控制器不可见?

时间:2018-03-08 08:18:39

标签: ruby-on-rails ruby

我正在使用Koudoku作为付款/订阅墙。我从subscription_controller

收到ruby语法错误
NoMethodError in Koudoku::SubscriptionsController#show
undefined method `can?' for #<Koudoku::SubscriptionsController:0x00007fab279983b8>
Extracted source (around line #57):
55
56
57
58
59
60

      # also, if cancan methods are available, we should use that to authorize.
      if defined?(:can?)
        return unauthorized unless can? :manage, @subscription
      end

      return @subscription.present? ? @subscription : unauthorized

我在项目中看不到控制器(它是由koudoku生成的)。 Rails动作调试控制器说该文件位于:

koudoku (2.0.0) app/controllers/koudoku/subscriptions_controller.rb:57:in `load_subscription'

但我的项目中没有koudoku文件夹,也没有subscriptions_controller

为什么会这样?有任何想法吗?

1 个答案:

答案 0 :(得分:2)

这是宝石的known issue。看起来它使用CanCan gem,但实际上并没有检查gem是否被加载,或者至少不正确。

尝试安装CanCan gem或更新的gem CanCanCan并检查它是否有效。

$ gem install cancancan
$ rails g cancan:ability