るびらな!

RubyをLearnする人の勉強記録。(超)弩(級の)素人なので、誰かダメさがわかる人に罵ってもらったりして、少しずつ知見を広げたいと思っています。

RailsTutorial第5章の躓きポイントはfull_title

ここも押していただけると嬉しいです #=> にほんブログ村 IT技術ブログへ にほんブログ村 IT技術ブログ Rubyへ にほんブログ村 IT技術ブログ Ruby on Railsへ

昨日の続き。


RailsTutorial 5.1.2まで完了! - るびらな!


第5章を進めていて、引っかかったけど無理やりいってしまったところを反省し、ちょっとググったらすぐ出てきたのでまとめておこうと思いました。

問題のコード。


リスト5.1 構造を追加したWebサイトのレイアウト。
app/views/layouts/application.html.erb

<!DOCTYPE html>
<html>
  <head>
    <title><%= full_title(yield(:title)) %></title>
    <%= stylesheet_link_tag "application", media: "all",
                                           "data-turbolinks-track" => true %>
    <%= javascript_include_tag "application", "data-turbolinks-track" => true %>
    <%= csrf_meta_tags %>
    <!--[if lt IE 9]>
    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
  </head>
  <body>
    <header class="navbar navbar-fixed-top navbar-inverse">
      <div class="navbar-inner">
        <div class="container">
          <%= link_to "sample app", '#', id: "logo" %>
          <nav>
            <ul class="nav pull-right">
              <li><%= link_to "Home",    '#' %></li>
              <li><%= link_to "Help",    '#' %></li>
              <li><%= link_to "Sign in", '#' %></li>
            </ul>
          </nav>
        </div>
      </div>
    </header>
    <div class="container">
      <%= yield %>
    </div>
  </body>
</html>

この中の、タイトル部分ですね。

<title><%= full_title(yield(:title)) %></title>

これを入れて実行すると、full_titleなんてメソッド定義してないよって怒られます。

解決策

いつもいつも、他人のページを張り付けて解決策にしちゃってますが、今日も同じパターンです。

参考になるのはこの辺かなぁ、と。


RailsTutorial第五章のRspec - プログラミング学習記録ブログ



railstutorial.org - RSpec title test fails with the variable full_title, but passes with string text the variable full_title provides to the title - Stack Overflow