BETA

Railsオリジナルアプリケーションを作りたい!12

投稿日:2019-04-17
最終更新:2019-04-17
※この記事は外部サイト(https://ta-mmc.hatenablog.com/entry/2019/0...)からのクロス投稿です

100DaysOfCode 44/100

プロフィール画面の記事一覧テスト

まだページネーションを実装していないので、それ以外の部分についてテストを書いていきます。

test "プロフィール画面が正しく表示されているか" do  
  get user_path(@user)  
  assert_template 'users/show'  
  assert_select 'title', full_title(@user.name)  
  assert_select 'img.gravatar'  
  assert_select 'p', text: @user.name  
  @user.articles.each do |article|  
    assert_select 'a', article.title  
  end  
end  
  • ページが表示されること
  • タイトルが正しいこと
  • ユーザー名が表示されること
  • Gravatar画像が表示されること
  • 記事タイトルがリンク(aタグ)として表示されること

を確認しています。これがpassできたら一安心ですね。

トップページに最新記事一覧を表示

トップページがとても寂しいので、全ユーザーの新着記事を表示させます。

ここで、「トップページのユーザー登録フォーム設置」に苦戦した日々を思い出しましょう!
参考: https://tammc.qrunch.io/entries/40PHjI8CwQJHf7Mz

class TopPageController < ApplicationController  
  def home  
    @user = User.new  
  end  
end  

あのときは、TopPageControllerhomeアクションでインスタンス変数@userを用意することで解決することができました。
同じようにhomeアクションでインスタンス変数@articlesを用意し、最新記事を取得して代入すればよいのではないでしょうか。

@articles = Article.all  

これを、

<div class="content">  
  <p class="headline">最新記事</p>  
  <ol class="articles">  
    <%= render @articles %>  
  </ol>  
</div>  

こう。

おおおおおおおお

自分の考えがうまくいったときの達成感、半端ないですね!
このままだと全ての記事が際限なく表示されてしまうので、ひとまず20件程度に制限します。

@articles = Article.all.limit(20)  

もちろん、ログインしていなくても記事を見ることができます。
ユーザー名をクリックすればユーザーページと投稿記事一覧が表示され、タイトルをクリックすれば本文が読めます。

Fakerの自動生成文がシュールすぎる……。

終わりに

それっぽくなってきました。ものすごく楽しいです。
次回は、予定通り記事投稿機能を作成していきます。

Cookiesの機能など、本格的なサービスに欠かせない機能も今後必ず実装していきます。

まだまだやることは盛りだくさんです!初心を忘れず、基礎を大切にモリモリ頑張ります。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@tammcの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!