在RubyonRails 5应用程序中全局渲染动态erb.html模板文件

问题描述:

我在不同部分(如sidebar-user)中全局使用了一些元素。所以我想为此创建一个单独的模板文件,并在需要时导入到页面中。在RubyonRails 5应用程序中全局渲染动态erb.html模板文件

所以,我创建了一个文件夹的意见/应用和它创造_sidebox-user.erb.html文件。

enter image description here

,我用下面的代码在index.erb.html

 <!-- SIGN UP/LOGIN BOX --> 
     <%= render 'sidebox-user.erb.html' %> 

渲染,但它呈现如下图所示,而不是在模板文件♂️

运行我的红宝石代码

enter image description here

我在这里错过了什么?

非常感谢!

实际的渲染是由 ActionView :: TemplateHandlers的子类完成的。视图上的文件扩展名控制 模板处理程序的选择。从Rails 2开始,标准的 扩展名是针对ERB(带有嵌入式Ruby的HTML)的.erb和用于Builder(XML生成器)的.builder 。

扩展名是name_of_file.html.erb,注意ERB必须被指定为“最终”扩展,为您的文件被命名为_sidebox-user.erb.html然后被用来只是作为一个HTML文件。

将它重命名为_sidebox-user.html.erb它应该工作。请注意,您只能使用名称,扩展名为:

<%= render 'sidebox-user' %>