スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Sinatraでお問い合わせフォーム

お問い合わせフォームをSinatraで作ります。
入力して、チェックして、確認してもらったらメールを送信します。

ソース一式はGithubにおきました。
デプロイ先は/var/www/app/inquiryを想定しています。

いくつかポイントを説明します。

・blank?
変数がnilまたは空かどうか判定するメソッドがblank?です。
「!val || val.empty?」が「val.blank?」と書けます。
利用するには以下をrequireします。
require 'active_support/core_ext'

・メール送信
以前の記事で紹介したソースを使います。
app.rbから利用するには、同じディレクトリにおいて以下のrequireをします。
require './my_mail'

・エスケープ
各値をエスケープするためにhメソッドを定義します。helpersで宣言しています。

・opened
初回オープンか既に開かれているか判定する値です。
これが1の時のみ、各値の入力チェックを行い入っていなければ、エラーを出します。

・confirm
送信直前画面で編集に戻るのか、送信するのかを判定する値です。
1の時に送信で0の時に戻ります。

・textareaの改行
テキストエリアの内容の改行をbrタグに変換します。
適切なヘルパーが見つからなかったので、文字列の置換で対応します。
h(@content).gsub(/\n/, '<br/>')
スポンサーサイト

COMMENTS

COMMENT FORM

TRACKBACK


この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。