読者です 読者をやめる 読者になる 読者になる

ぞえの技術めも

Ruby on Rails勉強中

【76日目】【1日20分のRailsチュートリアル】【第8章】フラッシュメッセージのテストを作成する

Ruby on Railsチュートリアル(第3版) 今日は「8.1.5 フラッシュのテスト」から。 8.1.5 フラッシュのテスト アプリケーションのログインの挙動をテストするために、最初に統合テストを生成します。 生成します。 $ rails generate integration_test users_lo…

【75日目】【1日20分のRailsチュートリアル】【第8章】ログイン失敗時のエラーメッセージを表示する

Ruby on Railsチュートリアル(第3版) 今日は「8.1.4 フラッシュメッセージを表示する」から。 8.1.4 フラッシュメッセージを表示する ログインに失敗したときには代わりにフラッシュメッセージを表示することにします。最初のコードをリスト8.6に示します (…

【74日目】【1日20分のRailsチュートリアル】【第8章】ユーザーの検索と認証処理の実装

Ruby on Railsチュートリアル(第3版) 今日は「8.1.3 ユーザーの検索と認証」から。 8.1.3 ユーザーの検索と認証 最初に最小限のcreateアクションをSessionsコントローラで定義し、空のnewアクションとdestroyアクションもついでに作成しておきましょう。 作…

【73日目】【1日20分のRailsチュートリアル】【第8章】Sessionsコントローラとログインフォームの作成

Ruby on Railsチュートリアル(第3版) 今日は「8.1.1 Sessionsコントローラ」から。 8.1.1 Sessionsコントローラ 最初に、Sessionsコントローラとnewアクションを生成します。 作りました。 $ rails generate controller Sessions new newアクションを生成す…

【72日目】【1日20分のRailsチュートリアル】【第8章】第8章向けの作業ブランチを作成

Ruby on Railsチュートリアル(第3版) 今日から第8章! 第8章 ログイン、ログアウト 第7章でWebサイトでの新規ユーザー登録が行えるようになりましたので、今度はユーザーがログインやログアウトを行えるようにしましょう。 ユーザーのログイン/ログアウトは…

【71日目】【1日20分のRailsチュートリアル】【第7章】演習の4.(flash用のHTMLを読みやすくする)

Ruby on Railsチュートリアル(第3版) 今日は「7.7 演習」の4.から。 7.7 演習 4. 7.4.2で触れたように、flash用のHTML (リスト7.25) は読みにくいです。 より読みやすくしたリスト7.34のコードに対してテストスイートを実行し、こちらも正常に動作すること…

【70日目】【1日20分のRailsチュートリアル】【第7章】演習の3.(ユーザー登録後のflashに対するテストを追加)

Ruby on Railsチュートリアル(第3版) 今日は「7.7 演習」の3.から。 7.7 演習 7.4.2で実装したflashに対するテストを書いてみてください。どのくらい細かくテストするかはお任せします。 リスト7.33に最小限のテンプレートを用意しておいたので、参考にして…

【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…

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

Ruby on Railsチュートリアル(第3版) 今日は「5.6 演習」から。 5.6 演習 演習とチュートリアル本編の食い違いを避ける方法については、3.6のトピックブランチの演習に追加したメモをご覧ください。 演習用にブランチ作ります。 $ git checkout master $ git…

【38日目】【1日20分のRailsチュートリアル】【第5章】ユーザー登録用URLの変更と5章の内容をコミット&push&デプロイ

Ruby on Railsチュートリアル(第3版) 今日は「5.4.2 ユーザー登録用URL」から。 5.4.2 ユーザー登録用URL 5.4.1のコードにより、新規ユーザー用の動作するページが/users/new にできました。 ここで表5.1を思い出していただきたいのですが、URLは/users/new…

【37日目】【1日20分のRailsチュートリアル】【第5章】リンクのテストとUserコントローラの作成

Ruby on Railsチュートリアル(第3版) 今日は「5.3.4 リンクのテスト」から。 5.3.4 リンクのテスト レイアウト内のいくつかのリンクを埋めることができたので、これらのリンクが正しく動いているかどうかチェックするテストを書いてみましょう。 リンクもテ…

【36日目】【1日20分のRailsチュートリアル】【第5章】Cotactページの作成とリンクの追加

Ruby on Railsチュートリアル(第3版) 今日は「5.3.1 Contactページ」から。 5.3.1 Contactページ まずContactページのテストを追加する。 第3章の演習で追加してたのでさくっと追加します。 test/controllers/static_pages_controller_test.rb test "should …

【35日目】【1日20分のRailsチュートリアル】【第5章】Sassの変数とレイアウトのリンク

Ruby on Railsチュートリアル(第3版) 今日は「5.2.2 素晴らしい構文を備えたスタイルシート」の「変数」から。 5.2.2 素晴らしい構文を備えたスタイルシート 変数 Sassでは、冗長なコードを削除し、より自由な表現を可能にするために、変数が定義できるよう…

【34日目】【1日20分のRailsチュートリアル】【第5章】SassとAsset Pipelineの解説読む

Ruby on Railsチュートリアル(第3版) 今日は「5.2 SassとAsset Pipeline」から。 5.2 SassとAsset Pipeline 5.2.1 Asset Pipeline Rails3.1以降では、静的ファイルを目的別に分類する、標準的な3つのディレクトリが使用されるようになりました。最新のRails…

【33日目】【1日20分のRailsチュートリアル】【第5章】レイアウトでパーシャルを利用する

Ruby on Railsチュートリアル(第3版) 今日は「5.1.3 パーシャル (partial)」から。 5.1.3 パーシャル (partial) パーシャル (partial) を追加すればレイアウトを見やすくできるそう。 機能単位でパーシャルにまとめる感じかな…? まずshimパーシャルを作成。…

【32日目】【1日20分のRailsチュートリアル】【第5章】BootstrapのインストールとCSSのカスタム

Ruby on Railsチュートリアル(第3版) 今日は「5.1.2 BootstrapとカスタムCSS」から。 5.1.2 BootstrapとカスタムCSS Bootstrapを使用すると、洗練されたWebデザインとユーザーインターフェイス要素を簡単にHTML5アプリケーションに追加することができます。 …

【31日目】【1日20分のRailsチュートリアル】【第5章】Homeページにナビゲーションや画像リンクを追加する

Ruby on Railsチュートリアル(第3版) 今日は「5.1.1 ナビゲーション」の途中から。 5.1.1 ナビゲーション 今後登場するスタイル要素を利用できるようにするために、home.html.erbビューに特別な要素をいくつか追加します。 app/views/static_pages/home.html…

【30日目】【1日20分のRailsチュートリアル】【第5章】レイアウトにナビゲーションを追加する

Ruby on Railsチュートリアル(第3版) ようやく30日目! 今日から「第5章 レイアウトを作成する」です。 第5章 レイアウトを作成する パーシャル、Railsのルーティング、Asset Pipelineについて学び、さらにSassについても紹介します Sassについても知りたか…

【29日目】【1日20分のRailsチュートリアル】第4章の演習(2.~4.)

Ruby on Railsチュートリアル(第3版) 今日は「4.6 演習」の2.から。 4.6 演習 2.リスト4.15を参考にして、上で作成したshuffleメソッドを Stringクラスに追加してください。 できたー。追加するだけ。 >> class String >> def shuffle >> self.split('').shu…

【28日目】【1日20分のRailsチュートリアル】第5章の準備と4.6演習の1.

Ruby on Railsチュートリアル(第3版) 今日は「4.5 最後」から。 4.5 最後に 第5章の準備。 「4.4.5 ユーザークラス」で作成したexample_user.rbは使わないそうなので削除。 $ rm example_user.rb その他の変更のcommitはしてたのでリモートへpushしてHeroku…

【27日目】【1日20分のRailsチュートリアル】Userクラスを使って4章の復習

Ruby on Railsチュートリアル(第3版) 今日は「4.4.5 ユーザークラス」から。 4.4.5 ユーザークラス Userクラスを作成したので中身の確認。 attr_accessor :name, :email ユーザー名とメールアドレスに対応するアトリビュートアクセサをそれぞれ作成します。 …