心はいつも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
booknest使ってみました

先日、日本サムスンのデザイナー、吉田道生氏のお話をお伺いしました。 非常に興味深 …

no image
Google Appsで問い合わせフォームを作りました

とっても簡単でした。Google Appsでこのブログに問い合わせフォームを設置 …

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

9.4.2 destroyアクション、です。 テストを書く FactoryGir …

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

9.2認可、です。 自分以外の人が自分のProfileを変更できないようにします …

Lionさんがお出まし?AppStoreでのアップデート

MacBookAirのDockにあるAppStoreアイコンになにやらアップデー …

パーフェクトRuby 3章制御構造/メソッド/組み込み関数 3-1演算子

パーフェクトRuby2章の後は6章をやろうと思っていましたが、やっぱり順番にやっ …

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

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

no image
RailsTutorial4.0を高速で復習する。5.6章。演習1問目。

5.6演習です。 一問目。 リスト5.28の静的ページのテストコードは簡潔ですが …

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

10.3.4マイクロポストを削除する、です。 仕様 マイクロポスト個別に削除でき …

no image
RailsTutorial4.0を高速で復習する。5.6章。演習3問目。

5章最後の演習、3問目です。 リスト5.38に示すように、元のヘルパーメソッドに …