Я признаю, что это похоже на предыдущий мой вопрос, но это не совсем то же самое. Поскольку я использую запросы ajax, в конце концов я решил добавить opal-jquery в свой стек (если вы не знаете более простой способ) и переключился на использование функции Document.ready?
, предоставленной им.Попытка получить шаблон response.rb для рендеринга в opal с использованием opal-jquery, теперь работала не
Моя функция теперь выглядит следующим образом:
def render_component component,mount_point
React.render React.create_element(component), Element.find[mount_point][0]
end
и я называю это так:
Document.ready? do
render_component LoginForm, '#view_port'
end
Проблема заключается в том, что до этого работал и сейчас, это не так, я получаю ошибка Uncaught NoMethodError: undefined method '[]' for nil
, она работала, а затем она просто начала это делать.
Ошибка в том, что по какой-то причине Element.find[mount_point]
возвращает nil
, и я не знаю почему. Он должен работать после того, как dom загружен, так что точка монтирования '#view_port'
должна существовать; это, безусловно, существует в йот, как вы можете увидеть здесь:
<body>
<section id="main">
<section id="view_port">
</section>
</section>
<div class="hiddendiv common"></div>
</body>
Я даже пытался окружив его window.addEventListener("load", function() {}
, но никакого эффекта.
Почему это сейчас не работает? что я пропустил?