【问题标题】:Ruby On Rails Rendering PartialRuby On Rails 部分渲染
【发布时间】:2013-06-24 20:36:25
【问题描述】:

您好,我在 Rails 视图中渲染局部时遇到问题。

我在视图/布局目录中创建了一个名为 _my_header.html.erb 的部分。

然后在名为index.html.erb 的视图中的另一个文件夹中的另一个文件中添加:

 <% render 'layouts/my_header' %>

我把它放在一个 html 标签中。无论如何,我收到此错误:

ActionView::MissingTemplate in User#index

Showing C:/Buzzoo/Buzzoo/app/views/user/index.erb where line #2 raised:
Extracted source (around line #2):

1: <html>
2:  <% render 'layouts/my_header' %>
3: 
4:  <body>

【问题讨论】:

  • 可以分享一下你的部分内容吗?我想知道错误是否存在,尽管有错误消息。

标签: ruby-on-rails view render partial


【解决方案1】:

您在其周围使用了错误的 ERB 标签,&lt;% %&gt; 用于执行代码,而&lt;%= %&gt; 用于打印代码。 所以这是正确的代码:

<%= render 'layouts/my_header' %>

这里解释了区别:What is the difference between <%, <%=, <%# and -%> in ERB in Rails?

以及官方文档:http://api.rubyonrails.org/classes/ActionView/Base.html

【讨论】:

    【解决方案2】:

    &lt;%= render 'layouts/my_header' %&gt; 当您希望 ruby​​ 代码在模板中显示时,您需要使用 &lt;%= %&gt; 而不是 &lt;% %&gt;

    【讨论】:

      【解决方案3】:

      试试下面的代码

      <%= render '/layouts/my_header' %>
      

      【讨论】:

      • ActionView::MissingTemplate in Player#index 显示 C:/Buzzoo/Buzzoo/app/views/player/index.mobile.erb 其中第 2 行出现:缺少部分 /layouts/mobile_header 和 {: locale=>[:en], :formats=>[:mobile], :handlers=>[:erb, :builder, :coffee]}。在以下位置搜索:*“C:/Buzzoo/Buzzoo/app/views”*“C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/devise-2.1.2/app/views”已提取来源(在第 2 行附近):1: 2: 3: 4: 5:
      【解决方案4】:

      ActionView::MissingTemplate in Player#index C:/Buzzoo/Buzzoo/app/views/player/index.mobile.erb 其中第 2 行 提出:缺少带有 {:locale=>[:en] 的部分 /layouts/mobile_header, :formats=>[:mobile], :handlers=>[:erb, :builder, :coffee]}。已搜索 在:*“C:/Buzzoo/Buzzoo/app/views”* “C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/devise-2.1.2/app/views” 提取的源代码(第 2 行附近):1: 2: 3: 4:

      @user2527785

      上述错误表明mobile_header 的名称中没有部分。您确定布局中有部分 _mobile_header.mobile.erb

      【讨论】:

        猜你喜欢
        • 2017-05-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-05
        • 2012-07-29
        相关资源
        最近更新 更多