Rails 预编译 index.html.erb
Rails precompile index.html.erb
我有 app/assets/index.html.erb
包含 <%= 'Hello world!' %>
,并将 require "sprockets/railtie"
添加到 config/application.rb
但是当我 运行 rake assets:precompile
(RAILS_ENV=development
) public/assets
保持为空。
我错过了什么?
我也在使用 webpacker
并且最初没有使用 sprockets
。
视图不是资产。每次 rails 处理 HTTP 请求时,您的视图模板(erb、slim 等)将被编译和呈现。详细了解 Rails 次浏览 here。
Assets 仅包含 css、js、字体、图像等。如果 assets 文件夹中没有任何资产文件,则 "rake assets:precompile" 将不执行任何操作。有关资产管道的更多信息 here。
UPD. May be this solution helps for you.
UPD2.
- 我用 <%= "Hello, world!"%> 创建了文件
assets/html/index.html.erb
。
- 我在我的
config/application.rb
中添加了后续行:
config.assets.precompile = ['*.js', '*.css', '*.html.erb']
- 我在我的 manifest.js
中添加了后续行
//= link_directory ../html .html
- 我运行
rake assets:precompile
看看:
...
I, [2019-03-31T13:56:28.979563 #50803] INFO -- : Writing rails_app/public/assets/index-f4e7c3b6ac0beff671efa8cf84639011c06e58ca53a78d83f36107316cec125f.html
I, [2019-03-31T13:56:28.979832 #50803] INFO -- : Writing rails_app/public/assets/index-f4e7c3b6ac0beff671efa8cf84639011c06e58ca53a78d83f36107316cec125f.html.gz
...
- 我打开编译好的文件看到"Hello, world"
我有 app/assets/index.html.erb
包含 <%= 'Hello world!' %>
,并将 require "sprockets/railtie"
添加到 config/application.rb
但是当我 运行 rake assets:precompile
(RAILS_ENV=development
) public/assets
保持为空。
我错过了什么?
我也在使用 webpacker
并且最初没有使用 sprockets
。
视图不是资产。每次 rails 处理 HTTP 请求时,您的视图模板(erb、slim 等)将被编译和呈现。详细了解 Rails 次浏览 here。
Assets 仅包含 css、js、字体、图像等。如果 assets 文件夹中没有任何资产文件,则 "rake assets:precompile" 将不执行任何操作。有关资产管道的更多信息 here。
UPD. May be this solution helps for you.
UPD2.
- 我用 <%= "Hello, world!"%> 创建了文件
assets/html/index.html.erb
。 - 我在我的
config/application.rb
中添加了后续行:
config.assets.precompile = ['*.js', '*.css', '*.html.erb']
- 我在我的 manifest.js 中添加了后续行
//= link_directory ../html .html
- 我运行
rake assets:precompile
看看:
...
I, [2019-03-31T13:56:28.979563 #50803] INFO -- : Writing rails_app/public/assets/index-f4e7c3b6ac0beff671efa8cf84639011c06e58ca53a78d83f36107316cec125f.html
I, [2019-03-31T13:56:28.979832 #50803] INFO -- : Writing rails_app/public/assets/index-f4e7c3b6ac0beff671efa8cf84639011c06e58ca53a78d83f36107316cec125f.html.gz
...
- 我打开编译好的文件看到"Hello, world"