1

我正在尝试拥有一个存储所有配置变量的部分布局文件。但是,我使用时无法访问它们render 'layouts/config'

应用程序.html.erb:

<!DOCTYPE html>
<html>
<head>
  <title><%= full_title(yield(:name), yield(:title)) %></title> 

#:name here is empty

  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
</head>
<body>
    <%= render "layouts/config" %>
<%= yield %>

</body>
</html>

_config.html.erb:

<% provide(:name, "Grab") %>
4

2 回答 2

1

要包含部分使用 <%= render :partial=>"layouts/config"%>

我建议如果您想将所有配置变量放在适当的位置,那么您应该在 config 目录中创建一个 config.yml 文件并在那里声明所有配置变量。在那里声明的所有配置变量将在整个应用程序中可用。

于 2012-10-11T06:18:37.303 回答
0

如果您放置render "layouts/config"title标签之前,它将起作用。但provide可能没有按照您的想法或意愿行事。

布局按顺序处理,因此在您的示例中:name:title在尝试调用之前尚未设置full_title

Yehuda Katz 博客上的这篇文章将有所帮助:自动冲洗

于 2012-10-11T06:28:20.563 回答