0

很抱歉,但我是新的 Rails 新人。好吧,我创建了一个应用程序,并开始编辑前端页面

在炼油厂指南告诉我编辑 application.html.erb。然后我开始编辑如下:

<!DOCTYPE html>
<html>
<head>
  <title>A3 Soccer</title>
  <%= stylesheet_link_tag :all %>
  <%= javascript_include_tag :defaults %>
  <%= csrf_meta_tag %>
</head>
<body>


<div id="page_container">
      <header>
        <h1 id='logo'>
  <a href="http://localhost:3000/"><img src="images/logo.png" /></a>
</h1>
<nav id='menu' class='menu clearfix'>
  <ul>
    <li class='selected first' id='item_0'>
  <a href="/">Home</a></li>
<li class='last' id='item_1'>
  <a href="/about">About</a></li>
  </ul>
</nav>

      </header>
      <section id='page'>
        <section id='body_content' class='no_body_content_right'>


<%= yield %>

 <div id="footer">
     <p>dsfdsfdsf</p>
      </div>



</body>
</html>

但是这部分菜单是静态的:

<nav id='menu' class='menu clearfix'>
  <ul>
    <li class='selected first' id='item_0'>
  <a href="/">Home</a></li>
<li class='last' id='item_1'>
  <a href="/about">About</a></li>
  </ul>
</nav>

我如何让它保持动态?

我想:当我在管理员中创建一个页面时,该链接(页面)出现在我网站的页面菜单中

4

3 回答 3

1

你确定它还不是动态的吗?创建另一个页面并查看它是否显示在导航中。我大约 6 个月没有使用 Refinery,但默认情况下导航始终是动态的。

于 2012-02-15T18:12:41.047 回答
0

尝试添加

<%= render(:partial => "/refinery/menu", :locals => {
         :dom_id => 'menu',
         :css => 'menu'
       }) %>

到你的文件。

https://github.com/resolve/refinerycms/blob/master/core/app/views/refinery/_header.html.erb

于 2012-03-21T14:32:27.487 回答
0

在炼油厂中,您通常不想覆盖application.html.erb,因为它通常会处理您需要的所有功能。

您可以在此处查看文件在做什么: https ://github.com/resolve/refinerycms/blob/master/core/app/views/layouts/application.html.erb#L1

这个文件有很多对其他部分的调用,这些调用引入了每个区域所需的内容。例如,标头带有一个名为 _header.html.erb 的部分,请参见此处:

https://github.com/resolve/refinerycms/blob/master/core/app/views/refinery/_header.html.erb#L1

这里再次调用另一个部分来呈现菜单 - 这是动态的。

我强烈建议不要覆盖这些文件,因为它们通常会默认执行您需要的所有操作,但如果您确实需要覆盖它们,您可以运行以下命令:

bundle exec rake 炼油厂:覆盖视图=炼油厂/_header

(您可以简单地运行 rake refinery:override 来查看此功能如何工作的示例和其他选项)

于 2012-02-17T19:57:20.123 回答