Uncaught error: RuntimeError: Edit не является компонентом реакции - PullRequest
1 голос
/ 02 мая 2019

Я получаю сообщение «Uncaught error: RuntimeError: Edit не является компонентом реакции». сообщение, несмотря на то, что редактирование определено в том же модуле:

module Components
  module Admin
    module Discounts
      class Layout < Hyperloop::Router::Component
        render(DIV) do
          Switch do
            Route("#{match.url}/index") do
              Redirect(pathname: match.url, search: location.search)
            end

            Route(match.url, exact: true) do |m, l, h|
              Index(match: m, location: l, history: h)
            end

            Route("#{match.url}/:discount_id/edit") do |m, l, h|
              Edit(match: m, location: l, history: h)
            end

            Route("#{match.url}/new") do |m, l, h|
              New(match: m, location: l, history: h)
            end
          end
        end
      end
    end
  end
end
module Components
  module Admin
    module Discounts
      class Edit < Hyperloop::Router::Component
...

Однако у меня есть другой файл models / edit.rb, который, кажется, используется вместо

module Edit
  def backup(attr_whitelist, assoc_whitelist)
    @saved_attributes = attributes_as_json(attr_whitelist, assoc_whitelist)
  end

Есть мысли о том, почему это происходит / как вместо этого указать на класс Edit?

1 Ответ

1 голос
/ 02 мая 2019

Похоже, вы нашли ошибку!

https://github.com/hyperstack-org/hyperstack/issues/181

Это неясно, но если класс компонента является вложенным, а другой модуль или класс определен во внешней области, поиск компонента завершается неудачно!

Тем временем вы можете

  • взять исправление на краевой ветви
  • исправить его, как показано в проблеме, или
  • добавить родительский модульимя (т.е. Discount::Edit) имя компонента при монтировании
...