доступ к помощникам в ApplicationController.render в Rails 6 - PullRequest
0 голосов
/ 09 января 2020

Я использую препроцессор Sprockets для генерации stati c HTML страниц ошибок для моего приложения с этим:

ApplicationController.renderer
  .new({
    http_host: 'myhost',
    https: Rails.env != 'development'
  })
    .render({
      inline: asset[:data],
      layout: 'layouts/error_page'
    })

HTML приходит через asset[:data], и Я отрисовываю это с макетом error_page. В Rails 5 это работало без проблем, но после обновления до 6 ни один из моих пользовательских вспомогательных методов не доступен, если они находятся во встроенной части рендера:

NameError: undefined local variable or method `my_custom_helper' for #<#<Class:0x00000000061b2758>:0x00007fe24c03bc28>

Они работают, если находятся в макет хотя, есть идеи, что мне не хватает?

1 Ответ

0 голосов
/ 09 января 2020

Встроенные файлы были .html.erb, переименовав их в .html было достаточно, чтобы заставить его работать с Rails 6. NameError происходил еще до того, как был вызван препроцессор, я предполагаю, что Sprockets пытался разбери ERB перед ним.

...