6

Chrome DevTools Autosave不適用於Rails Asset Pipeline。問題的根源在資產URL中 - 我無法通過其URL解密實際的文件路徑。例如,/assets/application.css可以引用app/assets/stylesheets/application.css,lib/assets/stylesheets/application.css, 或vendor/assets/stylesheets/application.css。使資產管道與Chrome DevTools一起使用自動保存

我不知道,我如何更改資產的URL爲以下之一:

  • /app/assets/stylesheets/application.css(精確匹配實際的文件路徑,完善的解決方案)
  • /資產/application.css?source_url=app/assets/stylesheets/application.css(介紹SOURCE_URL查詢參數)

我希望寫Rails插件對於任何幫助。


更新:我充滿an issue to sprockets

回答

3

我會盡量讓球滾動,但我必須做更多的事情來驗證或提供更好的答案,所以我會標記這個答案社區維基。這樣別人可以在下面回答或編輯這篇文章。

我不得不設立資產流水線的西納特拉,一般來講,在鏈輪的最新版本(這是用來提供在軌資產流水線)的Sprockets::Asset類有方法來獲取path and logical path

我相信Rails使用asset_path幫助器從Sprockets類生成面向公衆的URL。這反過來似乎使用AssetPaths#compute_public_path實例方法。一個好的第一步是修改代碼的這些部分,以便根據您對source.pathname的解析添加source_url參數。 這是假設源是某種形式的Sprockets::Asset的實例。

0

我不太清楚你如何期望源來自但它已經通過ActionView::Helpers::AssetTagHelper

http://api.rubyonrails.org/classes/ActionView/Helpers/AssetTagHelper.html

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" /> 
提供