代码之家  ›  专栏  ›  技术社区  ›  BleuGamer

无法设置轨道4的标题

  •  1
  • BleuGamer  · 技术社区  · 9 年前

    我参加了一个个人项目,用rails学习ruby,一切都很顺利。我已经开始过渡到润色和部署,并为您所在的网站部分配置标题。我在以下位置尝试了公认的解决方案: http://tinyurl.com/jzqmuw2 ,但我的标题仍然默认为我的项目名称,这并不干净。我已经研究了一些其他的解决方案,其中一些还可以,但我不明白为什么这不起作用。

    当我测试时,我正在ec2 micro t2上使用JRuby 9.0.4.0(2.2.2)和openjdk 8。

    相关代码:

    ${root}/homepage/index.html erb

    <!DOCTYPE html>
    
    <head>
      <title>
        <%- title "BleuEngine" %>
      </title>
    </head>
    
    <body>
      <h1>BleuEngine</h1>
      <p>Website for BleuEngine</p>
    </body>
    

    ${root}/app/helper/application_helper.rb

    module ApplicationHelper
      # Setting titles for each page
      def title(page_title)
        content_for(:title) { page_title }
      end
    end
    

    ${root}/app/views/layouts/application.html erb

    <!DOCTYPE html>
    <html>
    <head>
      <title><%= content_for?(:title) ? content_for?(:title) : "BleuEngine" %></title>
      <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
      <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
      <%= csrf_meta_tags %>
    </head>
    <body>
    
    <%= yield %>
    
    </body>
    </html>
    

    编辑: 布局。html实际上是application.html erb。固定的

    2 回复  |  直到 9 年前
        1
  •  2
  •   rlarcombe    9 年前

    更改您的${root}/homepage/index.html。erb视图:

    <%- title "Whatever title you want to appear on this page" %>
    
    <h1>BleuEngine</h1>
    <p>Website for BleuEngine</p>
    

    你不需要 <head> 视图中的内容,因为它应该在布局文件中。而且,你不需要 <body> 标记,因为视图被插入到 <%= yield %> 布局文件中的行。

    最后,将标题行添加到布局文件${root}/app/views/layouts/application.html的Head部分。erb以呈现标题。

    <title><%= content_for?(:title) ? yield(:title) : "BleuEngine" %></title>
    
        2
  •  1
  •   Mihai Dinculescu    9 年前

    content_for?(:title) 如果您有内容或没有内容,则返回布尔语句。
    它不会返回实际内容。 yield(:title) 这样做。

    改变

    <title><%= content_for?(:title) ? content_for?(:title) : "BleuEngine" %></title>
    

    <title><%= content_for?(:title) ? yield(:title) : "BleuEngine" %></title>