ruby-on-rails - ResqueWeb 中的 Sprockets::Rails::Helper::AssetNotPrecompiled

标签 ruby-on-rails ruby-on-rails-6 resque sprockets

我已经尝试解决这个问题大约两天了,但一无所获。我正在尝试显示 resque-web 页面,但我不断遇到错误

Sprockets::Rails::Helper::AssetNotPrecompiled 在 ResqueWeb::Overview#show

显示消息

ActionView::Template::Error (resque_web/plugins/resque_scheduler/application.css):
    12:         file_path = "#{p.name.underscore.downcase}/application.css"
    13:         if (Rails.application.assets && Rails.application.assets.find_asset(file_path)) ||
    14:            (Rails.application.assets_manifest && Rails.application.assets_manifest.assets[file_path])
    15:           stylesheet_link_tag "#{p.name.underscore.downcase}/application"
    16:         end
    17:       end.join("\n").html_safe
    18:   %>

从堆栈中调用什么

     def raise_unless_precompiled_asset(path)
        raise Helper::AssetNotPrecompiled.new(path) if @check_precompiled_asset && !precompiled?(path)
      end
  end
end

gem 版本

resque (2.0.0)
resque-multi-job-forks (0.5.1)
resque-scheduler (4.4.0)
resque-web (0.0.12)
sprockets (4.0.2, 3.7.2)
sprockets-rails (3.2.2)

路线.rb

require "resque_web"
require 'resque-scheduler'
require 'resque/scheduler/server'

Rails.application.routes.draw do
  mount ResqueWeb::Engine => "/resque_web"
  root to: "pages#home"
.
.
.
end

理想情况下,出于生产目的,它应该是'admin/resque_web'

我已经尝试过“bitterloa”的修复 https://github.com/resque/resque-web/issues/106因为我的文件结构是使用 webpacker 设置的相同

我查看了development.rb以检查调试是否错误

我使用 sprock-rails 销毁资源后重新编译了它们 rails asset:clobber

任何我可以查看的想法或者如果其他人遇到这个问题请伸出援手。

从终端运行命令显示 resque 正在运行并接受来 self 的 Scheduler.yml 文件的计划作业,我只是无法获取让它工作的 css。

如果您需要更多信息,请告诉我。

谢谢

最佳答案

resque配有内置服务器。您不需要 resque-web 并且它似乎没有被维护(上次提交是在 2018 年)。

让我们试试这个:

gem 'resque', require: 'resque/server'

#  routes.rb 
mount Resque::Server.new, :at => "admin/resque"

确保仅允许管理员访问生产中的该页面。为此,您可以阅读 Route Constraints做类似的事情:

constraints IsResqueAllowed do
  mount Resque::Server.new, :at => "admin/resque"
end

class IsResqueAllowed 
 def self.matches?(request)
   # use the request to do something
 end
end
 

有关保护路线安全的更多信息 here .

关于ruby-on-rails - ResqueWeb 中的 Sprockets::Rails::Helper::AssetNotPrecompiled,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66715972/

相关文章:

ruby-on-rails - 在 HTTParty 中删除用于解析的 JSONP

ruby-on-rails - 将选择形式的选项与 bool 值匹配

ruby-on-rails - 如何通过 activeadmin 使用 Rails 6.0 中内置的富文本编辑器

ruby-on-rails - Rails 6 期望文件定义常量

postgresql - 多个无法从客户端接收数据 : Connection reset by peer Postgresql and Resque

c++ - Ruby on Rails 在后台工作 [resque + resque-status]

ruby-on-rails - Rails 创建表迁移应该有created_at 和updated_at 吗?

ruby-on-rails - rails 6 : How to add jquery-ui through webpacker?

ruby-on-rails - 如何防止 Redis::TimeoutError: Heroku 上的连接超时

ruby-on-rails - 辅助测试中未定义的局部变量或方法 `main_app'