心はいつもAirPucci (空元気でもいいから)

毎日がPucciを着ているような気分

RailsTutorial4.0を高速で復習する。7章

   


第7章ユーザー登録、です。
6章でuserモデルを作ったので、7章はwebでの登録機能を追加するですか。

まずはブランチ作成です。
git checkout master
git checkout -b sign-up

ユーザープロファイルページのイメージ

7.1ユーザーを表示する、です。
ユーザープロファイルページのイメージを作成しています。
profile_mockup_bootstrap

このtwitter風画面のとりあえず写真表示までをやると。

userモデルに、写真のカラムと、ニックネームが必要になりそう。
新規ユーザー登録時はemailとパスワードだけでいいから、後から追加できるようになるのか?

と、いろいろ仕様を考えておきます。

7.1.1デバッグとRails環境、です。

画面にデバッグ情報を追加

ビルトインのdebugメソッドとparams変数を使用して、各プロファイルページにデバッグ用の情報が表示されるようになります、だそうです。

リスト7.1 サイトのレイアウトにデバッグ情報を追加する。
app/views/layouts/application.html.erb

<!DOCTYPE html>
<html>
略
  <body>
    <%= render 'layouts/header' %>
    <div class="container">
      <%= yield %>
      <%= render 'layouts/footer' %>
      <%= debug(params) if Rails.env.development? %>
    </div>
  </body>
</html>

debugはヘルパーメソッドですね。

リスト7.2 デバッグ表示を整形するための追加と、Sassのミックスイン。
app/assets/stylesheets/custom.css.scss

@import "bootstrap";

/* mixins, variables, etc. */

$grayMediumLight: #eaeaea;

@mixin box_sizing {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
略

/* miscellaneous */

.debug_dump {
  clear: both;
  float: left;
  width: 100%;
  margin-top: 45px;
  @include box_sizing;
}

factorygirlでテストデータ仕込む

ちょっといろいろすっ飛ばして、
7.1.3ファクトリーを使用してユーザー表示ページをテストする、です。

factorygirlはもうgemで入っているので、データセットアップだけします。

リスト7.8 Userモデルオブジェクトをシミュレートするためのファクトリー。
spec/factories.rb

FactoryGirl.define do
  factory :user do
    name     "Michael Hartl"
    email    "michael@example.com"
    password "foobar"
    password_confirmation "foobar"
  end
end

RSpecで参照するテスト用データです。

リスト7.11 BCryptのコストファクターをテスト環境向けに再定義する。
config/environments/test.rb

SampleApp::Application.configure do
  .
  .
  .
  # bcrypt'のコスト関数を下げることでテストの速度を向上させる。
  ActiveModel::SecurePassword.min_cost = true
end

これでテストが早くなるそうで、いつでも書いとけと。このセットアップも最初からやっとくべきですね。

ここまでが下準備。

次は7.1.2ユーザーリソースからです。

 - テクニカル ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

no image
RailsTutorial4.0を高速で復習する。10.1.4章。

10.1.4マイクロポストを改良する、です。 has_many関連付けしたので、 …

パーフェクトRuby 1章Rubyの概要

メタプログラミングRubyもいいのですが、余計な物語仕立てがどうも性に合わず、消 …

Chromeでの文字化けを対処しました。

WordPressで自作テンプレを作ってみたのはよいものの、困った問題が2つ。 …

no image
RailsTutorial4.0を高速で復習する。9.1.2章。

9.1.2編集の失敗、です。 テストを書きます リスト9.9 ユーザーupdat …

パーフェクトRuby 2章Rubyの基礎 2-1 Hello,Ruby

12章から5章まではPart2 Ruby言語仕様 です。 2章 Rubyの基礎 …

no image
RailsTutorial4.0を高速で復習する。5.2章。

5.2SassとAsset Pipeline、です。 ここは読み物系です。読んで …

no image
RailsTutorial4.0を高速で復習する。3.5章。つづき。

3.5演習の2もんめをやります。 2.お気付きの方もいると思いますが、リスト3. …

no image
iPhoneの月請求は8円のみです。

昨年11月に、e-mobileからiPhoneにMNPしました。 ちょうど、乗り …

no image
RailsTutorial4.0を高速で復習する。5.4.2章の途中から。

リスト5.35 ボタンをユーザー登録ページにリンクする、です。 リンクを貼る系は …

no image
Rubyの<< には3つの用法あり。

先週の#yokohamarbペアプロ画面をみていて