RefineryCMS - show.html.erb无法覆盖

时间:2011-09-20 14:05:27

标签: ruby-on-rails ruby-on-rails-3 refinerycms

我正在运行refinerycms 1.0.8和rails 3.0.10。 我在app / views / pages / show.html.erb

中有以下代码
<div id="startpageheader">
  <%= raw @page.content_for(:startpageheader) %>
</div>
<section id='body_content'>
  <%=raw @page.content_for(:body) %>
</section>

如果我在开发模式下运行本地,我会得到以下(所需)输出:

<section id='page'>
  <div id="startpageheader">
    <p>...</p>
  </div>
  <section id='body_content'>
    <p>...</p>
  </section>
</section>

但是一旦我在生产模式下启动它,我会得到以下结果:

<section id='page'>
  <section id='body_content' class='no_body_content_right'>
    <h1 id='body_content_title'>Home</h1>
    <section id='body_content_left'><div class='inner'><p>...</p></div></section>
    <section id='startpageheader'><div class='inner'><p>...</p></div></section>
  </section>
</section>

因此,显示页面部分,但视图错误。我试图在生产日志中追捕这个,但我最终无处可去。 有没有人知道这里出了什么问题?

3 个答案:

答案 0 :(得分:1)

我发现了问题,当然,这是我自己的错。无论出于何种原因,我都以某种方式管理它从页面菜单中删除第一页(Home)。所以,那时候,我创建了一个新的,这不是真正的主页,而只是一个普通的页面。 当我修改页面的显示视图show.html.erb时,当然会显示更改。但在生产中,原始主页未被删除,因此show.html.erb中的更改未显示,因为第一个视图会响应home.html.erb。 谢谢所有试图帮助我的人,并为这个愚蠢的错误感到抱歉。

答案 1 :(得分:0)

在我看来,您的生产数据库中没有填充数据。

我现在面前没有炼油厂的来源,但如果右侧面板没有任何数据,它所做的其中一件事就是给出“no_body_content_right”。它在以后设置样式时非常有用。

在管理员中检查您的页面,如果数据丢失则填充数据,如果这不起作用,请告诉我。

答案 2 :(得分:0)

您需要迁移生产数据库。

如果您查看shared/_content_page.html.erb,就可以看到<section id='body_content' class='no_body_content_right'> ..等等。当你没有通过部分屈服。

希望这有帮助。