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

牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

レイルに乗ってみた〜Rails of Ruby on Rails その15「自動返信メールで予想以上に躓いた(つдT)」

Rails

レイルに乗ってみた〜 目次
書籍『Rails of Ruby on Rails ~Case of LOCUSANDWONDERS.COM~』で勉強してみた(P171〜)

メール送信サーバーの設定を追加する

「構成」って何だっけ。「config」のことか(・∀・)
/work/locus/config/environment.rb
の設定を書き換える。
げっ「require 'gettext/rails'」が出てキタ。以前「gettext」で結構ハマってるからなぁ(||゚Д゚)
たしかRails2.1では/config/environment.rbに「require 'gettext/rails'」は書いちゃ駄目なはず(『レイルに乗ってみた〜Rails of Ruby on Rails その02「GetTextで躓いた(つдT)」 - 牌語備忘録 - pygo』)。
Gmailは面倒そうなのでyahooメールで登録してみた。(っていうかGmailでやったらメール返って来なかった(つдT))
それ以外はだいたい書籍の指示通り。

メーラージェネレータでOrderMailerモデルの作成

G5:~/work/locus username$ script/generate mailer order_mailer order
      exists  app/models/
      create  app/views/order_mailer
      exists  test/unit/
      create  test/fixtures/order_mailer
      create  app/models/order_mailer.rb
      create  test/unit/order_mailer_test.rb
      create  app/views/order_mailer/order.erb
      create  test/fixtures/order_mailer/order
Loaded suite script/generate
Started

Finished in 0.000688 seconds.

0 tests, 0 assertions, 0 failures, 0 errors

モデルを修正
/work/locus/app/models/order_mailer.rb
書籍通りだが、@fromを「xxx@yahoo.co.jp」のアドレスにしないと動かなかった。yahooメール設定してるから?(´・ω・`)

コントローラ修正

コード追加
/work/locus/app/controllers/order_controller.rb
(前回コメントアウトしたとこ)

       logger.info "EMAIL:" + @order.email
       OrderMailer.deliver_order(@order)

送信内容のテンプレート作成 ビューを追加

/work/locus/app/views/order_mailer/order.erb
書籍通りなので略。

動作確認

http://localhost:3000/
商品をカートに入れてチェックアウト。そんでフォーム書いて注文してみる。
メールくるはず。

キタ━━━━(゚∀゚)━━━━ッ!!

メモ