如何从我的ability.rb中指定自定义异常消息?

mar*_*ion 6 ruby-on-rails cancan cancancan ruby-on-rails-5

在我ability.rb,我有以下规则:

elsif user.has_role? :demo
  can :read, Profile, demo_featured: true, demo_linked: true, message: "To access this profile, please subscribe here."
Run Code Online (Sandbox Code Playgroud)

但那不会产生我想要的信息.

如何获得此特定规则以生成我想要的消息?

编辑1

这是完整的ability.rb if条件:

  def initialize(user)
    user ||= User.new # guest user (not logged in)
    alias_action :create, :show, :new, :destroy, to: :csnd

    if user.has_role? :admin
      can :manage, :all
    elsif user.has_role? :coach
      # do some stuff
    elsif user.has_role? :demo
      can :read, Profile, demo_featured: true, demo_linked: true
    elsif user.has_role? :player
      # can do some stuff
    else
      can :read, Profile
    end    
  end
Run Code Online (Sandbox Code Playgroud)

这些是我的一些内容ProfilesController:

  before_action :set_profile, only: [:show, :edit, :update, :destroy, :invite_user, :profiles]

    def set_profile
      @profile = Profile.published.includes(:grades, :positions, :achievements, :videos, :transcripts).friendly.find(params[:id])
    end
Run Code Online (Sandbox Code Playgroud)