&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/]] … 保存せず送信するタイプ
-[[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]



トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS