Rails预编译index.html.erb

时间:2019-03-31 09:23:08

标签: ruby-on-rails ruby asset-pipeline erb sprockets

我有app/assets/index.html.erb包含<%= 'Hello world!' %>,并将require "sprockets/railtie"添加到config/application.rb,但是当我运行rake assets:precompileRAILS_ENV=development){{1} }保持为空。 我想念什么? 我也在使用public/assets,最初没有使用webpacker

1 个答案:

答案 0 :(得分:3)

视图不是资产。视图-服务器响应的html模板。每次Rails处理HTTP请求时,都会编译并呈现您的视图(erb,slim等)。关于Rails视图,您可以阅读here

资产仅包括css,js,字体,图像等。如果资产文件夹中没有资产文件,则“ rake asset:precompile”将不起作用。有关资产管道here的更多信息。

UPD。 May be this solution helps for you.

UPD2。

  1. 我用<%=“”世界,您好!“%>创建文件assets/html/index.html.erb
  2. 我将以下行添加到我的config/application.rb
config.assets.precompile = ['*.js', '*.css', '*.html.erb']
  1. 我在我的manifest.js中添加以下行
//= link_directory ../html .html
  1. 我运行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
...
  1. 我打开编译文件,然后看到“你好,世界”