0

我有一个模型 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 然后错误:

NameError:未初始化的常量 GroupInvitation

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

4

1 回答 1

1

你需要打电话@ability.should be_able_to(:create, :group_invitation)。您可以在文档中阅读有关使用无模型控制器时授权的内容

这是相关部分:

class ToolsController < ApplicationController
  authorize_resource :class => false
  def show
    # automatically calls authorize!(:show, :tool)
  end
end
于 2013-02-24T03:54:24.877 回答