【问题标题】:How to write a CanCan rspec for a modeless controller?如何为无模式控制器编写 CanCan rspec?
【发布时间】:2013-02-24 02:28:29
【问题描述】:

我有一个模型 group.rb,然后是一个无模型的控制器 group_invitations.rb。

GroupInvitationsController

  before_filter :find_group_by_group_id
  before_filter :authenticate_user!
  before_filter :current_ability
  authorize_resource :class => false

  def current_ability
    @current_ability ||= Ability.new(current_user, @group)
  end

当我为此编写 rspec 时:

  it "should be able to create" do
    ability = Ability.new(nil)
    ability.should be_able_to(:create, GroupInvitation.new)
  end

rspec 然后错误:

名称错误: 未初始化的常量 GroupInvitation

如何设置 rspec 来测试这个无模式控制器?谢谢

【问题讨论】:

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


    【解决方案1】:

    您需要致电@ability.should be_able_to(:create, :group_invitation)。您可以在documentation 中了解使用无模型控制器时授权的内容。

    这是相关部分:

    class ToolsController < ApplicationController
      authorize_resource :class => false
      def show
        # automatically calls authorize!(:show, :tool)
      end
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-28
      • 2014-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多