レイルに乗ってみた〜 目次
書籍『Rails of Ruby on Rails ~Case of LOCUSANDWONDERS.COM~』で勉強してみた(P176〜)
メーラージェネレータでContactモデルを作成
G5:~/work/locus username$ script/generate mailer ContactMailer exists app/models/ create app/views/contact_mailer exists test/unit/ create test/fixtures/contact_mailer create app/models/contact_mailer.rb create test/unit/contact_mailer_test.rb Loaded suite script/generate Started Finished in 0.012119 seconds. 0 tests, 0 assertions, 0 failures, 0 errors G5:~/work/locus username$
モデルを修正
/work/locus/app/models/contact_mailer.rb
@recipientsを送信先のメールアドレスにして、あとは書籍通りなので略。
コントローラの追加
G5:~/work/locus username$ script/generate controller contact index sended exists app/controllers/ exists app/helpers/ create app/views/contact exists test/functional/ create app/controllers/contact_controller.rb create test/functional/contact_controller_test.rb create app/helpers/contact_helper.rb create app/views/contact/index.html.erb create app/views/contact/sended.html.erb Loaded suite script/generate Started Finished in 0.001406 seconds. 0 tests, 0 assertions, 0 failures, 0 errors
ファイルを変更。
/work/locus/app/controllers/contact_controller.rb
書籍の通りなので略。
/work/locus/app/controllers/contact_controller.rb
フォームの追加
書き換え
/work/locus/app/views/contact/index.html.erb
書籍の通りなので略。
送信完了ページを追加
書き換え
/work/locus/app/views/contact/sended.html.erb
ブラウザで確認
入力を検証する Active Formプラグインをインストール
『GitHub · Build software better, together.』で「Active Form」を検索。
「cs/active_form · GitHub」が見つかったのでClone URL:を使って以下コマンド。
G5:~/work/locus username$ script/plugin install git://github.com/cs/active_form.git removing: /work/locus/vendor/plugins/active_form/.git Initialized empty Git repository in /work/locus/vendor/plugins/active_form/.git/ remote: Counting objects: 14, done. remote: Compressing objects: 100% (11/11), done. remote: Total 14 (delta 1), reused 9 (delta 0) Receiving objects: 100% (14/14), 4.23 KiB, done. Resolving deltas: 100% (1/1), done.
Active Formモデルの作成
新規にファイルを作成
/work/locus/app/models/contact.rb
書籍の通りなので略。
コントローラを修正
変更修正
/work/locus/app/controllers/contact_controller.rb
書籍の通りなので略。
ブラウザで確認
http://localhost:3000/contact
何も記入せず送信をクリック。
検証(バリデーション)機能OK。(でもActive Form使う前にどうなるか確認し忘れたが(´・ω・`))
メモ
- よっしゃぁ第4章終了(・∀・)b