Ошибка звездочки: звездочки::Rails::Helper::AssetNotFound

Я столкнулся со странной ошибкой звездочек с камнем наклона. В основном я загружаю изображения в шаблон ERB (сгенерированный с помощью Tilt) с тегом изображения, но когда шаблон отображается, он показывает Sprockets::Rails::Helper:: AssetNotFound.
The asset "button.jpg" is not present in the asset pipeline..
Я правильно настроил путь к своим ресурсам ниже, я буду прикреплять файл.
И еще одна вещь: когда я нажимаю кнопку "Назад" и обновляю страницу, изображение загружается с соответствующими активами.
Я пробовал менять пути к ресурсам, а также пробовал rake assets:precompile, но все равно оно остается прежним.
> Все активы находятся по адресу: app/assets/images

слияние.rb

class Generator

            include ApplicationHelper
            include ActionView::Helpers::AssetTagHelper
            include Sprockets::Rails::Helper
            def initialize(template, scope = {})
              scope.each do |k, v|
                instance_variable_set k, v
              end

              f = "#{Rails.root}/app/views/#{template}.html.erb" if File.exist? "#{Rails.root}/app/views/#{template}.html.erb"


              if f
                @template = Tilt::ERBTemplate.new(f)
              else
                f = "#{Rails.root}/app/views/#{template}" if File.exist? "#{Rails.root}/app/views/#{template}"

                @template = Tilt.new(f)
              end
            end

            def request
              ActionDispatch::Request.new({})
            end

            def render
              @template.render(self) ===> Here is the render error
            end
         end

шаблон.erb


     <div class="facility-button">
       <center><%= link_to image_tag("button.jpg" , style: "max-width: 100%;height: auto;") , "#{@email.url}" %></center>
     </div>

config/initializers/assets.rb

Rails.application.config.assets.version = '1.0'


Rails.application.config.assets.precompile += %w[vendor.js]

разработка.рб

  config.assets.compile = true
  config.assets.debug = true
  config.assets.quiet = true

Пожалуйста, пишите комментарии, если что-то непонятно.
Заранее спасибо!


person Jigar Panchal    schedule 29.05.2020    source источник


Ответы (1)


Добавив это, моя проблема решена.

<center><%= link_to image_tag(ActionController::Base.helpers.asset_path("button.jpg") , style: "max-width: 100%;height: auto;") , "#{@email.url}" %></center>

Спасибо, если кто-нибудь может подробно объяснить, почему это работает!

person Jigar Panchal    schedule 03.06.2020