ぞえの技術めも

Ruby on Rails勉強中

【69日目】【1日20分のRailsチュートリアル】【第7章】演習の2.(無効なユーザー登録時のエラーメッセージのテストを追加)

Ruby on Railsチュートリアル(第3版) 今日は「7.7 演習」の2.から。 7.7 演習 リスト7.18で実装したエラーメッセージに対するテストを書いてみてください。 どのくらい細かくテストするかはお任せします。リスト7.32にテンプレートを用意しておいたので、参…

【68日目】【1日20分のRailsチュートリアル】【第7章】Rubyのバージョンと第7章のまとめと演習の1.

Ruby on Railsチュートリアル(第3版) 今日は「7.5.3 Rubyのバージョン番号」から。 7.5.3 Rubyのバージョン番号 HerokuのデプロイするときにRubyのバージョンを明示的に指定してくださいというワーニングが表示される、という話。 うーん、、、出てたっけ。…

【67日目】【1日20分のRailsチュートリアル】【第7章】本番環境用Webサーバーの設定

Ruby on Railsチュートリアル(第3版) 今日は「7.5.2 本番環境用Webサーバー」から。 7.5.2 本番環境用Webサーバー WEBrickは本番環境として適切なWebサーバではありません。よって、今回はWEBrickをPumaというWebサーバに置き換えてみます。 はい。 まずはpu…

【66日目】【1日20分のRailsチュートリアル】【第7章】masterブランチへのマージと本番環境でのSSL対応

Ruby on Railsチュートリアル(第3版) 今日は「7.5 プロのデプロイ」から。 7.5 プロのデプロイ ユーザー登録をセキュアにするために、本番用のアプリケーションに重要な機能を追加していきます。 その後、デフォルトのWebサーバを実際の世界で使われているWe…

【65日目】【1日20分のRailsチュートリアル】【第7章】ユーザー登録成功時のテスト

Ruby on Railsチュートリアル(第3版) 今日は「7.4.4 成功時のテスト」から。 7.4.4 成功時のテスト 有効な情報を送信して、ユーザーが作成されたことを確認します。 assert_differenceを使ってPOSTリクエスト送った後にユーザー数が1増えていることを確認す…

【64日目】【1日20分のRailsチュートリアル】【第7章】実際のユーザー登録を実施する

Ruby on Railsチュートリアル(第3版) 今日は「7.4.3 実際のユーザー登録」から。 7.4.3 実際のユーザー登録 名前を “Rails Tutorial”、メールアドレスを “example@railstutorial.org”として登録してみましょう。 してみましょう。 サーバーを起動して $ rail…

【63日目】【1日20分のRailsチュートリアル】【第7章】ユーザー登録フォームを完成させる

Ruby on Railsチュートリアル(第3版) 今日は「7.4 ユーザー登録成功」から。 7.4 ユーザー登録成功 まずは、ユーザーを保存できるようにします。保存に成功すると、ユーザー情報は自動的にデータベースに登録されます。 次にブラウザの表示をリダイレクトし…

【62日目】【1日20分のRailsチュートリアル】【第7章】ユーザー登録失敗時のテストを生成する

Ruby on Railsチュートリアル(第3版) 今日は「7.3.4 失敗時のテスト」から。 7.3.4 失敗時のテスト Railsではフォーム用のテストを書くことができ、こういったプロセスを自動化することができます。 本項では、無効な送信をしたときの正しい振る舞いについて…

【61日目】【1日20分のRailsチュートリアル】【第7章】ユーザー登録のエラーメッセージを表示する

Ruby on Railsチュートリアル(第3版) 今日は「7.3.3 ユーザー登録のエラーメッセージ」から。 7.3.3 ユーザー登録のエラーメッセージ ユーザー登録に失敗した場合の最後の手順として、問題が生じたためにユーザー登録が行われなかったということをユーザーに…

【60日目】【1日20分のRailsチュートリアル】【第7章】Strong parametersで悪意のあるアクセスを防ぐ

Ruby on Railsチュートリアル(第3版) 今日は「7.3.2 Strong parameters」から。 7.3.2 Strong parameters @user = User.new(params[:user]) # 実装は終わっていないことに注意! リスト7.16のコメントと、上の再録コメントでも重ねて指摘しているように、この…

【59日目】【1日20分のRailsチュートリアル】【第7章】ユーザー登録失敗

Ruby on Railsチュートリアル(第3版) 今日は「7.3 ユーザー登録失敗」から。 7.3 ユーザー登録失敗 無効なデータ送信を受け付けるユーザー登録フォームを作成し、ユーザー登録フォームを更新してエラーの一覧を表示します。 ユーザー名が空白になってないか…

【58日目】【1日20分のRailsチュートリアル】【第7章】ユーザー登録用のフォームを作成する

Ruby on Railsチュートリアル(第3版) 今日は「7.2.1 form_forを使用するから。 7.2.1 form_forを使用する ユーザー登録ページで重要な点は、ユーザー登録に欠かせない情報を入力するためのformです。 formタグのことですね。 これを行うには、Railsでform_fo…

【57日目】【1日20分のRailsチュートリアル】【第7章】プロフィールページのレイアウト調整とユーザー登録フォーム作成の準備

Ruby on Railsチュートリアル(第3版) 今日は「Gravatar画像とサイドバー」のレイアウト整えるところから。 7.1.4 Gravatar画像とサイドバー 図7.1のモックアップに近づけるために、ユーザーのサイドバーの最初のバージョンを作りましょう。 プロフィール画像…

【56日目】【1日20分のRailsチュートリアル】【第7章】デバッガーの使い方とGravatar画像の表示

Ruby on Railsチュートリアル(第3版) 今日は「7.1.3 デバッガー」から。 7.1.3 デバッガー Rails 4.2からは、byebug gemを使ってもっと直接的にデバッグできるようになりました (リスト3.2)。 へー。byebugはもうGemfileに書いてるのですぐ使えるらしい。 sh…

【55日目】【1日20分のRailsチュートリアル】【第7章】ユーザー情報を仮ビューに表示する

Ruby on Railsチュートリアル(第3版) 今日は「7.1.2 Usersリソース」のユーザー情報を表示する仮ビューを作成するところから。 7.1.2 Usersリソース ユーザーを表示するために、標準的なRailsの場所を使用することにします。app/views/users/show.html.erbで…

【54日目】【1日20分のRailsチュートリアル】【第7章】デバッグ出力を整形、Usersリソースを設定

Ruby on Railsチュートリアル(第3版) 今日は「7.1.1 デバッグとRails環境」のデバッグ出力をきれいにするところから。 7.1.1 デバッグとRails環境 デバッグ出力をきれいに整形するために、第5章で作成したカスタムスタイルシートをリスト7.2のように追加しま…

【53日目】【1日20分のRailsチュートリアル】【第7章】開発環境でのデバッグの準備

Ruby on Railsチュートリアル(第3版) 今日は「第7章 ユーザー登録」から。 遂に後半戦! 第7章 ユーザー登録 Userモデルができあがったので、いよいよユーザー登録機能を追加しましょう。 第6章でユーザーを登録する中身を作ったので第7章ではUIメイン、かな…

【52日目】【1日20分のRailsチュートリアル】【第6章】演習の2.と3.

Ruby on Railsチュートリアル(第3版) 今日は「6.5 演習」の2.から。 6.5 演習 before_saveコールバック内でemail.downcase!と書き、email属性を直接変更してもよいことを、テストスイートを走らせて確認してください (リスト6.42のように書いてもよいことを…

【51日目】【1日20分のRailsチュートリアル】【第6章】第6章のコミットと演習の1.

Ruby on Railsチュートリアル(第3版) 今日は「6.4 最後に」から。 6.4 最後に Gitを使用している方は、しばらくコミットしていなかったのであれば、この時点でコミットしておくのがよいでしょう。 コミットしてないのでコミットします。 $ bundle exec rake …

【50日目】【1日20分のRailsチュートリアル】【第6章】ユーザーの作成とパスワード認証

Ruby on Railsチュートリアル(第3版) 今日は「6.3.4 ユーザーの作成と認証」から。 6.3.4 ユーザーの作成と認証 今回はRailsコンソールを使ってユーザーを手動で作成することにしましょう。 6.1.3で説明したcreateを使いますが、後々実際のユーザーを作成す…

【49日目】【1日20分のRailsチュートリアル】【第6章】Userモデルへのセキュアなパスワードとパスワードの最小文字数を設定する

Ruby on Railsチュートリアル(第3版) 今日は「6.3.2 ユーザーがセキュアなパスワードを持っている」から。 6.3.2 ユーザーがセキュアなパスワードを持っている Userモデルにpassword_digest属性を追加し、Gemfileにbcryptを追加したことで、ようやくUserモデ…

【48日目】【1日20分のRailsチュートリアル】【第6章】セキュアなパスワードを追加する準備

Ruby on Railsチュートリアル(第3版) 今日は「6.3 セキュアなパスワードを追加する」から。 6.3 セキュアなパスワードを追加する セキュアパスワードという手法では、各ユーザーにパスワードとパスワードの確認を入力させ、それを (そのままではなく) ハッシ…

【47日目】【1日20分のRailsチュートリアル】【第6章】データベースにメールアドレスの一意性を設定する

Ruby on Railsチュートリアル(第3版) 今日は「6.2.5 一意性を検証する」のデータベースにも一意性の設定するところから。 6.2.5 一意性を検証する 実は、この問題はデータベースレベルでも一意性を強制するだけで解決します。 具体的にはデータベース上のema…

【46日目】【1日20分のRailsチュートリアル】【第6章】ユーザーのメールアドレスの一意性を検証する

Ruby on Railsチュートリアル(第3版) 今日は「6.2.5 一意性を検証する」から。 6.2.5 一意性を検証する メールアドレスの一意性を強制するために (ユーザー名として使うために)、validatesメソッドの:uniqueオプションを使います。 ふむふむ。 一意性のテス…

【45日目】【1日20分のRailsチュートリアル】【第6章】ユーザー情報の文字列の長さとフォーマットを検証する

Ruby on Railsチュートリアル(第3版) 今日は「6.2.3 長さを検証する」から。 6.2.3 長さを検証する 最長のユーザー名の長さに科学的な根拠はありませんので、単に50を上限として手頃な値を使うことにします。 問題になる可能性もあるので長すぎるメールアド…

【44日目】【1日20分のRailsチュートリアル】【第6章】ユーザーの有効性と存在性の検証

Ruby on Railsチュートリアル(第3版) 今日は「6.2 ユーザーを検証する」から。 6.2 ユーザーを検証する 要するに、nameとemailにあらゆる文字列を許すのは避けるべきです。これらの属性値には、何らかの制約を与える必要があります。 何でもありだといざ運用…

【43日目】【1日20分のRailsチュートリアル】【第6章】ユーザーオブジェクトの検索と更新

Ruby on Railsチュートリアル(第3版) 今日は「6.1.4 ユーザーオブジェクトを検索する」から。 日をまたいで学習するとRailsコンソールを起動し直さないといけないのでめんどくさいことに気付いた。 6.1.4 ユーザーオブジェクトを検索する 本編の前に準備。Ra…

【42日目】【1日20分のRailsチュートリアル】【第6章】ユーザーオブジェクトを作成

Ruby on Railsチュートリアル(第3版) 今日は「6.1.2 modelファイル」から。 6.1.2 modelファイル 生成したUserモデルのコード確認。 ActiveRecord::Baseクラスを継承している。 app/models/user.rb class User < ActiveRecord::Base end 6.1.3 ユーザーオブ…

【41日目】【1日20分のRailsチュートリアル】【第6章】Userモデルをデータベースに移行

Ruby on Railsチュートリアル(第3版) 今日から第6章! 「第6章 ユーザーのモデルを作成する」から。 第6章 ユーザーのモデルを作成する 本章では、一番重要なステップであるユーザー用のデータモデルの作成と、データを保存する手段の確保について学んでいき…

【40日目】【1日20分のRailsチュートリアル】【第5章】演習の3.

Ruby on Railsチュートリアル(第3版) 今日は「5.6 演習」の3.から。 5.6 演習 3. リスト5.36で示すように、Applicationヘルパーで使っているfull_titleヘルパーを、test環境でも使えるようにすると便利です。 (中略) たとえばベースタイトルに“Ruby on Rail…