refinery/refinerycms · error · ArgumentError

A tab MUST have a name!: #{tab.inspect}

Error message

A tab MUST have a name!: #{tab.inspect}

What it means

Error "A tab MUST have a name!: #{tab.inspect}" thrown in refinery/refinerycms.

Source

Thrown at pages/lib/refinery/pages/tab.rb:24

    end

    def self.tabs_for_template(template)
      return tabs unless template

      tabs.select do |tab|
        tab.templates.include?('all') || tab.templates.include?(template)
      end
    end

    class Tab
      attr_accessor :name, :partial, :templates

      def self.register(&block)
        tab = self.new

        yield tab

        raise ArgumentError, "A tab MUST have a name!: #{tab.inspect}" if tab.name.blank?
        raise ArgumentError, "A tab MUST have a partial!: #{tab.inspect}" if tab.partial.blank?

        tab.templates = %w[all] if tab.templates.blank?
        tab.templates = Array(tab.templates)

        tab
      end

    protected

      def initialize
        Refinery::Pages.tabs << self # add me to the collection of registered page tabs
      end
    end

  end
end

View on GitHub (pinned to 34438aae76)

When it happens

Trigger: Thrown at pages/lib/refinery/pages/tab.rb:24 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of refinery/refinerycms@34438aae76 (2026-08-23). Data as JSON: /api/errors/958432bc8428933f. Report an issue: GitHub.