refinery/refinerycms · error · NoMethodError

#{self.class.name} doesn't know #{method}. Define or delegat

Error message

#{self.class.name} doesn't know #{method}. Define or delegate it.

What it means

Error "#{self.class.name} doesn't know #{method}. Define or delegate it." thrown in refinery/refinerycms.

Source

Thrown at core/app/presenters/refinery/base_presenter.rb:23

      :title              => proc { |p| (p.model.class.name.titleize if p.model.present?) },
      :path               => proc { |p| p.title },
      :browser_title      => nil,
      :meta_description   => nil
    }

    attr_reader :model

    def initialize(obj)
      @model = obj
    end

    def method_missing(method, *args)
      if @model.respond_to? method, include_all = true
        @model.send method
      elsif DEFAULT_FIELDS.has_key? method
        (value = DEFAULT_FIELDS[method]).is_a?(Proc) ? value.call(self) : value
      else
        raise NoMethodError.new("#{self.class.name} doesn't know #{method}. Define or delegate it.", method)
      end
    end

    def respond_to?(method, include_all = false)
      super || @model.respond_to?(method, include_all) || DEFAULT_FIELDS.has_key?(method)
    end

  end
end

View on GitHub (pinned to 34438aae76)

When it happens

Trigger: Thrown at core/app/presenters/refinery/base_presenter.rb:23 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/411a49cae6d9ce86. Report an issue: GitHub.