ruby-on-rails - 如何在 Rails 6 中获取资产路径名列表?(Sprockets::Assets 不再有 to_a 方法)
问题描述
我在 Rails 5 中运行的应用程序中有以下代码:
def application_spec_files
Rails.application.assets.find_asset('application_spec.js').to_a.map {|e| e.pathname.to_s }
end
这会为资产文件生成一组路径名。它看起来像这样:
["/Users/me/.rvm/gems/ruby-2.5.7/gems/jquery-rails-4.3.3/vendor/assets/javascripts/jquery.js",
"/Users/me/.rvm/gems/ruby-2.5.7/gems/jquery-rails-4.3.3/vendor/assets/javascripts/jquery_ujs.js",
"/Users/me/.rvm/gems/ruby-2.5.7/gems/bootstrap-sass-3.3.7/assets/javascripts/bootstrap.js",
# etc.
]
但是,当尝试在 Rails 6 中运行此代码时,它不再起作用。我收到此错误:
NoMethodError: undefined method 'to_a' for #<Sprockets::Asset...
有没有办法可以在 Rails 6 中生成路径名列表?
解决方案
推荐阅读
- c# - 列表视图的背景选择项
- bash - 尝试大写第一个字母时 Bash 错误替换
- nginx - nginx 使用 IP 和本地名称将流量定向到非域名
- browser - 某些表示形式中的 Unicode 字符问题
- sql - 一张表中的两个唯一键 SQL
- r - 在两个数据集之间匹配列表中的值
- django - Django Orm,包括像 asp.net core 这样的功能
- regex - 如何在电子表格中替换 =textjoin 范围的值
- ios - 在每个单元格都包含表格视图的表格视图中选择新单元格时,无法取消选择先前选择的单元格
- selenium - XPath 中 contains 和 equals 的区别 - selenium