&tag(Rails3/問い合わせフォーム); *目次 [#lc4e6501] #contents *参考情報 [#xd7e1c22] -[[Rails3]] -[[Rails3で問い合わせフォームを作る - Prototype[beta]:http://prototype-beta.com/prototype/entry/9_rails3%E3%81%A7%E5%95%8F%E3%81%84%E5%90%88%E3%82%8F%E3%81%9B%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%82%92%E4%BD%9C%E3%82%8B]] … DBに保存して送信するタイプ。 -[[Contact form in Rails 3 / Mat Harvard:http://matharvard.ca/posts/2011/aug/22/contact-form-in-rails-3/]] … 保存せず送信するタイプ(英語) -[[Railsの問い合わせフォームからSESでメールを送信する - okochangのインフラ日誌:http://okochang.hatenablog.jp/entry/2013/06/27/100115]]…上の日本語版的なもの -[[Rails3.0から3.1への移行とRSS(Atom)フィードの取得 - give IT a try:http://blog.jnito.com/entry/20120323/1332456687]] … 保存せず送信するタイプ -[[Rails3 ActiveRecordではないモデル | ツボニチ:http://tsubo3.wordpress.com/2011/12/26/rails3-activerecord%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%84%E3%83%A2%E3%83%87%E3%83%AB/]] … DBに保存しないモデルの例 *基本 [#l1a0ade5] **概要 [#k38dafcc] -DBに問い合わせ内容を保存しつつメールを送信するか、ただ単にメールを送信するかにわかれる。 -DB作るのがめんどくさい場合メール送信するだけでいいかも。 -DBに保存してないタイプのモデルを作成し画面からの情報をうけとり、検証し、ActionMailerで使って送信するのが基本的な流れとなる。 ** モデルの生成 [#l21e6dca] -app/models/contact.rbを生成 #pre{{ class Contact include ActiveModel::Validations include ActiveModel::Conversion extend ActiveModel::Naming attr_accessor :name, :email, :subject, :message validates :name, :presence => true # confirmation?が必要 validates :email, :presence => true, :format => { :with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i } validates :subject, :presence => true validates :message, :presence => true def initialize(attributes = {}) attributes.each do |name, value| send("#{name}=", value) end end def persisted? false end end }} ** ActionMailerの設定[#q09f20b6] ***smtpサーバーの設定 [#adee9283] -[[../メール送信]]を参考にして、development.rb / production.rb などで、smtpサーバーの設定を行っておく。 *** [#kc6ce864]