2016-01-01から1年間の記事一覧
Ruby on Railsチュートリアル(第3版) 今日は「7.3.4 失敗時のテスト」から。 7.3.4 失敗時のテスト Railsではフォーム用のテストを書くことができ、こういったプロセスを自動化することができます。 本項では、無効な送信をしたときの正しい振る舞いについて…
Ruby on Railsチュートリアル(第3版) 今日は「7.3.3 ユーザー登録のエラーメッセージ」から。 7.3.3 ユーザー登録のエラーメッセージ ユーザー登録に失敗した場合の最後の手順として、問題が生じたためにユーザー登録が行われなかったということをユーザーに…
Ruby on Railsチュートリアル(第3版) 今日は「7.3.2 Strong parameters」から。 7.3.2 Strong parameters @user = User.new(params[:user]) # 実装は終わっていないことに注意! リスト7.16のコメントと、上の再録コメントでも重ねて指摘しているように、この…
Ruby on Railsチュートリアル(第3版) 今日は「7.3 ユーザー登録失敗」から。 7.3 ユーザー登録失敗 無効なデータ送信を受け付けるユーザー登録フォームを作成し、ユーザー登録フォームを更新してエラーの一覧を表示します。 ユーザー名が空白になってないか…
Ruby on Railsチュートリアル(第3版) 今日は「7.2.1 form_forを使用するから。 7.2.1 form_forを使用する ユーザー登録ページで重要な点は、ユーザー登録に欠かせない情報を入力するためのformです。 formタグのことですね。 これを行うには、Railsでform_fo…
Ruby on Railsチュートリアル(第3版) 今日は「Gravatar画像とサイドバー」のレイアウト整えるところから。 7.1.4 Gravatar画像とサイドバー 図7.1のモックアップに近づけるために、ユーザーのサイドバーの最初のバージョンを作りましょう。 プロフィール画像…
Ruby on Railsチュートリアル(第3版) 今日は「7.1.3 デバッガー」から。 7.1.3 デバッガー Rails 4.2からは、byebug gemを使ってもっと直接的にデバッグできるようになりました (リスト3.2)。 へー。byebugはもうGemfileに書いてるのですぐ使えるらしい。 sh…
Ruby on Railsチュートリアル(第3版) 今日は「7.1.2 Usersリソース」のユーザー情報を表示する仮ビューを作成するところから。 7.1.2 Usersリソース ユーザーを表示するために、標準的なRailsの場所を使用することにします。app/views/users/show.html.erbで…
Ruby on Railsチュートリアル(第3版) 今日は「7.1.1 デバッグとRails環境」のデバッグ出力をきれいにするところから。 7.1.1 デバッグとRails環境 デバッグ出力をきれいに整形するために、第5章で作成したカスタムスタイルシートをリスト7.2のように追加しま…
Ruby on Railsチュートリアル(第3版) 今日は「第7章 ユーザー登録」から。 遂に後半戦! 第7章 ユーザー登録 Userモデルができあがったので、いよいよユーザー登録機能を追加しましょう。 第6章でユーザーを登録する中身を作ったので第7章ではUIメイン、かな…
Ruby on Railsチュートリアル(第3版) 今日は「6.5 演習」の2.から。 6.5 演習 before_saveコールバック内でemail.downcase!と書き、email属性を直接変更してもよいことを、テストスイートを走らせて確認してください (リスト6.42のように書いてもよいことを…
Ruby on Railsチュートリアル(第3版) 今日は「6.4 最後に」から。 6.4 最後に Gitを使用している方は、しばらくコミットしていなかったのであれば、この時点でコミットしておくのがよいでしょう。 コミットしてないのでコミットします。 $ bundle exec rake …
Ruby on Railsチュートリアル(第3版) 今日は「6.3.4 ユーザーの作成と認証」から。 6.3.4 ユーザーの作成と認証 今回はRailsコンソールを使ってユーザーを手動で作成することにしましょう。 6.1.3で説明したcreateを使いますが、後々実際のユーザーを作成す…
Ruby on Railsチュートリアル(第3版) 今日は「6.3.2 ユーザーがセキュアなパスワードを持っている」から。 6.3.2 ユーザーがセキュアなパスワードを持っている Userモデルにpassword_digest属性を追加し、Gemfileにbcryptを追加したことで、ようやくUserモデ…
Ruby on Railsチュートリアル(第3版) 今日は「6.3 セキュアなパスワードを追加する」から。 6.3 セキュアなパスワードを追加する セキュアパスワードという手法では、各ユーザーにパスワードとパスワードの確認を入力させ、それを (そのままではなく) ハッシ…
Ruby on Railsチュートリアル(第3版) 今日は「6.2.5 一意性を検証する」のデータベースにも一意性の設定するところから。 6.2.5 一意性を検証する 実は、この問題はデータベースレベルでも一意性を強制するだけで解決します。 具体的にはデータベース上のema…
Ruby on Railsチュートリアル(第3版) 今日は「6.2.5 一意性を検証する」から。 6.2.5 一意性を検証する メールアドレスの一意性を強制するために (ユーザー名として使うために)、validatesメソッドの:uniqueオプションを使います。 ふむふむ。 一意性のテス…
Ruby on Railsチュートリアル(第3版) 今日は「6.2.3 長さを検証する」から。 6.2.3 長さを検証する 最長のユーザー名の長さに科学的な根拠はありませんので、単に50を上限として手頃な値を使うことにします。 問題になる可能性もあるので長すぎるメールアド…
Ruby on Railsチュートリアル(第3版) 今日は「6.2 ユーザーを検証する」から。 6.2 ユーザーを検証する 要するに、nameとemailにあらゆる文字列を許すのは避けるべきです。これらの属性値には、何らかの制約を与える必要があります。 何でもありだといざ運用…
Ruby on Railsチュートリアル(第3版) 今日は「6.1.4 ユーザーオブジェクトを検索する」から。 日をまたいで学習するとRailsコンソールを起動し直さないといけないのでめんどくさいことに気付いた。 6.1.4 ユーザーオブジェクトを検索する 本編の前に準備。Ra…
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 ユーザーオブ…
Ruby on Railsチュートリアル(第3版) 今日から第6章! 「第6章 ユーザーのモデルを作成する」から。 第6章 ユーザーのモデルを作成する 本章では、一番重要なステップであるユーザー用のデータモデルの作成と、データを保存する手段の確保について学んでいき…
Ruby on Railsチュートリアル(第3版) 今日は「5.6 演習」の3.から。 5.6 演習 3. リスト5.36で示すように、Applicationヘルパーで使っているfull_titleヘルパーを、test環境でも使えるようにすると便利です。 (中略) たとえばベースタイトルに“Ruby on Rail…
Ruby on Railsチュートリアル(第3版) 今日は「5.6 演習」から。 5.6 演習 演習とチュートリアル本編の食い違いを避ける方法については、3.6のトピックブランチの演習に追加したメモをご覧ください。 演習用にブランチ作ります。 $ git checkout master $ git…
Ruby on Railsチュートリアル(第3版) 今日は「5.4.2 ユーザー登録用URL」から。 5.4.2 ユーザー登録用URL 5.4.1のコードにより、新規ユーザー用の動作するページが/users/new にできました。 ここで表5.1を思い出していただきたいのですが、URLは/users/new…
Ruby on Railsチュートリアル(第3版) 今日は「5.3.4 リンクのテスト」から。 5.3.4 リンクのテスト レイアウト内のいくつかのリンクを埋めることができたので、これらのリンクが正しく動いているかどうかチェックするテストを書いてみましょう。 リンクもテ…
Ruby on Railsチュートリアル(第3版) 今日は「5.3.1 Contactページ」から。 5.3.1 Contactページ まずContactページのテストを追加する。 第3章の演習で追加してたのでさくっと追加します。 test/controllers/static_pages_controller_test.rb test "should …
Ruby on Railsチュートリアル(第3版) 今日は「5.2.2 素晴らしい構文を備えたスタイルシート」の「変数」から。 5.2.2 素晴らしい構文を備えたスタイルシート 変数 Sassでは、冗長なコードを削除し、より自由な表現を可能にするために、変数が定義できるよう…
Ruby on Railsチュートリアル(第3版) 今日は「5.2 SassとAsset Pipeline」から。 5.2 SassとAsset Pipeline 5.2.1 Asset Pipeline Rails3.1以降では、静的ファイルを目的別に分類する、標準的な3つのディレクトリが使用されるようになりました。最新のRails…
Ruby on Railsチュートリアル(第3版) 今日は「5.1.3 パーシャル (partial)」から。 5.1.3 パーシャル (partial) パーシャル (partial) を追加すればレイアウトを見やすくできるそう。 機能単位でパーシャルにまとめる感じかな…? まずshimパーシャルを作成。…