Ошибка звездочек: звездочки :: Rails :: Helper :: AssetNotFound - PullRequest
0 голосов
/ 29 мая 2020

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

merge.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

template.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]

development.rb

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

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

1 Ответ

0 голосов
/ 03 июня 2020

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...