包括除非特定页面类的部分

时间:2016-02-01 02:47:26

标签: ruby-on-rails middleman

我正在通过layout.erb向每个页面的body标签添加一个唯一的页面类。我希望在我的网站上的所有页面上包含一个特定部分。并非所有页面都有类集。目前,我的示例下面出现语法错误。

<%= partial 'partials/tagline' if (array.include?(current_page.data.page_classes) || array.empty? && %w(page_home page_fourohfour page_post)) %>

错误讯息:SyntaxError at / layouts/layout.erb:3: syntax error, unexpected ')', expecting keyword_end ...e page_fourohfour page_post)) ).to_s; @_out_buf << ' ... ^

2 个答案:

答案 0 :(得分:0)

我相信你想要的函数是render,它接受一个hash参数,而partial是该hash的键之一(而不是函数本身)。

试试这个:

<%= render :partial => "partials/tagline" if (array.include?(current_page.data.page_classes) || array.empty? && %w(page_home page_fourohfour page_post)) %>

或者简单地说:

<%= render "partials/tagline" if (array.include?(current_page.data.page_classes) || array.empty? && %w(page_home page_fourohfour page_post)) %>

答案 1 :(得分:0)

一个应该起作用的简单选项如下:

<% if (array.include?(current_page.data.page_classes) || array.empty? && %w(page_home page_fourohfour page_post)) %>
  <%= partial 'partials/tagline' %>
<% end %>