Ruby on rails 使资产管道与Chrome DevTools Autosave一起工作
不适用于。问题的罪魁祸首是资产URL——我无法通过其URL破译实际文件路径。例如,/assets/application.css可能指的是app/assets/stylesheets/application.css、lib/assets/stylesheets/application.css、, 或供应商/资产/样式表/application.css 我想知道,如何将资产URL更改为以下内容之一:Ruby on rails 使资产管道与Chrome DevTools Autosave一起工作,ruby-on-rails,ruby-on-rails-plugins,asset-pipeline,google-chrome-devtools,Ruby On Rails,Ruby On Rails Plugins,Asset Pipeline,Google Chrome Devtools,不适用于。问题的罪魁祸首是资产URL——我无法通过其URL破译实际文件路径。例如,/assets/application.css可能指的是app/assets/stylesheets/application.css、lib/assets/stylesheets/application.css、, 或供应商/资产/样式表/application.css 我想知道,如何将资产URL更改为以下内容之一: /app/assets/stylesheets/application.css(完全匹配实际文件
- /app/assets/stylesheets/application.css(完全匹配实际文件路径,完美解决方案)
- /assets/application.css?source\u url=app/assets/stylesheets/application.css(引入source\u url查询参数)
更新:我填写了。我会努力让事情进展顺利,但我还需要做更多的工作来验证或提供更好的答案,所以我会将这个答案标记为社区维基。这样其他人可以在下面回答或编辑这篇文章 我已经为Sinatra设置了资产管道,一般来说,在最新版本的Sprocket(用于在Rails中提供资产管道)中,
Sprocket::asset
类具有获取资产的方法
我相信Rails使用helper从Sprockets类生成面向公众的url。这又似乎使用了
assetPath#compute_public_path
实例方法。根据对source.pathname
的解析,最好的第一步是修改代码的这些部分,以添加source\u url
参数。这是假设源是某种形式的Sprockets::Asset
的实例 我不太确定您对源代码的期望如何,但它已经由ActionView::Helpers::AssetTagHelper提供了
image\u标签(“rails.png”)
# =>
样式表链接标签(“应用程序”)
# =>
image_tag("rails.png")
# => <img alt="Rails" src="http://assets.example.com/images/rails.png?1230601161" />
stylesheet_link_tag("application")
# => <link href="http://assets.example.com/stylesheets/application.css?1232285206" media="screen" rel="stylesheet" type="text/css" />