Javascript 渴望在Rails for AngularJS中加载HTML/erb模板

Javascript 渴望在Rails for AngularJS中加载HTML/erb模板,javascript,ruby-on-rails,ruby,angularjs,erb,Javascript,Ruby On Rails,Ruby,Angularjs,Erb,我正在跟随线程,以便急切地加载HAML模板。这似乎是一种合理的方法,可以确保Angular在初始加载时缓存所有需要的HTML部分,以避免不必要的往返服务器。我的问题是,如果我们不使用HAML,如何对常规erb/HTML模板执行相同的操作?在这一行: $templateCache.put("<%= File.basename(f).gsub(/\.haml$/, '') %>", <%= Haml::Engine.new(File.read(f)).render.to_json

我正在跟随线程,以便急切地加载HAML模板。这似乎是一种合理的方法,可以确保Angular在初始加载时缓存所有需要的HTML部分,以避免不必要的往返服务器。我的问题是,如果我们不使用HAML,如何对常规erb/HTML模板执行相同的操作?在这一行:

$templateCache.put("<%= File.basename(f).gsub(/\.haml$/, '')  %>", <%= Haml::Engine.new(File.read(f)).render.to_json %>);
  <% end %>
$templateCache.put(“,”);

人们需要任何替代品来替代erb模板的
Haml::Engine.new
。有没有一个解决方案,让我可以实现我的非Haml为基础的模板以上

对于ERB模板,您可以使用:

<% Dir.glob(Rails.root.join('app','assets','templates', '*.erb')).each do |f| %>
    $templateCache.put("<%= File.basename(f).gsub(/\.erb$/, '')  %>", <%= ERB.new(File.read(f)).result.to_json %>);
<% end %>

$templateCache.put(“,”);

使用HAML的原始代码是:

<% Dir.glob(Rails.root.join('app','assets','templates', '*.haml')).each do |f| %>
  $templateCache.put("<%= File.basename(f).gsub(/\.haml$/, '')  %>", <%= Haml::Engine.new(File.read(f)).render.to_json %>);
<% end %>
要从文件名中获取模板名,请使用

File.basename(f, '.erb')
要渲染ERB模板,请使用

ERB.new(File.read(f)).result
请参阅

把所有的东西放在一起,我们就可以

<% Dir.glob(Rails.root.join('app','assets','templates', '*.erb')).each do |f| %>
  $templateCache.put("<%= File.basename(f, '.erb')  %>", <%= ERB.new(File.read(f)).result.to_json %>);
<% end %>

$templateCache.put(“,”);
<% Dir.glob(Rails.root.join('app','assets','templates', '*.erb')).each do |f| %>
  $templateCache.put("<%= File.basename(f, '.erb')  %>", <%= ERB.new(File.read(f)).result.to_json %>);
<% end %>