很抱歉,但是我新推出了一款新的。好吧,我创建了一个应用程序,我开始编辑前端页面
在Refinery指南中告诉我编辑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>
如何保持动态?
我想:当我在管理员中创建一个页面时,该链接(页面)出现在我网站上的页面菜单中
答案 0 :(得分:1)
你确定它还没有动态吗?创建另一个页面,看它是否显示在导航中。我在大约6个月内没有使用Refinery,但默认情况下导航始终是动态的。
答案 1 :(得分: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 refinery:覆盖视图= refinery / _header
(您可以运行简单的rake refinery:覆盖以查看示例以及此功能如何工作的其他选项)
答案 2 :(得分: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