【问题标题】:How to render CMS content into view in rails如何在 Rails 中将 CMS 内容呈现到视图中
【发布时间】:2016-08-12 03:05:41
【问题描述】:

Rails 新手在这里。

使用舒适的墨西哥沙发作为我的 CMS。

我有一个应用程序,其中用户显示页面有自己的布局和侧边栏导航。侧边栏链接是用

生成的
<% Comfy::Cms::Site.first.pages.root.children.published.each do |page| %>
<li><%= link_to page.label, page.url(:relative) %></li> 
<% end %>

我希望该布局的产量能够生成相应的内容。必须有一种超级 Rails 方式来实现这一点,但我想不通。

【问题讨论】:

    标签: ruby-on-rails content-management-system


    【解决方案1】:

    我想你在找content_for

    在您的模板中,您可以像这样捕获部分供以后使用:

      <% content_for :sidebar do %>
       <% Comfy::Cms::Site.first.pages.root.children.published.each do |page| %>
         <li><%= link_to page.label, page.url(:relative) %></li> 
       <% end %>
      <% end %>
    

    在您的布局或其他模板中,您可以像这样使用它:

     <%= content_for :sidebar %>
    

    【讨论】:

    • 这会导致侧边栏的内容呈现在主要内容 div 中,而不是在侧边栏 div 中。
    • 这取决于您将 &lt;%= content_for :sidebar %&gt; 放置在哪里。你可以把它放在任何地方。
    • 也许我不擅长解释。我在生成侧边栏方面做得很好的代码。我想要使​​用 content_for 是链接转到的页面的内容 - 这样当我单击链接时,yield 或 content_for 会更改为该链接的内容。
    • 好的,你想渲染一个cms页面的内容。我不确定,但也许render :cms_page =&gt; page.url(:relative) 可以胜任这份工作。 CMS wiki 有一个关于“从应用程序访问 cms 内容”的部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-14
    • 2011-07-06
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    • 2010-12-19
    • 1970-01-01
    相关资源
    最近更新 更多