在RubyonRails 5应用程序中全局渲染动态erb.html模板文件
问题描述:
我在不同部分(如sidebar-user)中全局使用了一些元素。所以我想为此创建一个单独的模板文件,并在需要时导入到页面中。在RubyonRails 5应用程序中全局渲染动态erb.html模板文件
所以,我创建了一个文件夹的意见/应用和它创造_sidebox-user.erb.html文件。
,我用下面的代码在index.erb.html
<!-- SIGN UP/LOGIN BOX -->
<%= render 'sidebox-user.erb.html' %>
渲染,但它呈现如下图所示,而不是在模板文件♂️
运行我的红宝石代码我在这里错过了什么?
非常感谢!
答
实际的渲染是由 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' %>