いーほろよいの技術ブログ

IT技術ブログになります。

Ruby on Railsのお勉強 〜お問い合わせフォーム編(save) その7〜

はじめに

前回の作業でバリデーション(検証)が完了したので最後のデータ登録を試して見たいと思います。

↓バリデーションはこちら を参照ください。

e-horoyoi.hatenablog.com

 

やる事

...特に無し?

今回はただ単純に登録するだけなので特に難しい事はありません。

 

手順

thanksページまで遷移した前提で話を進めます。

因みにthanksページはこのように記述します。

class InquiryController < ApplicationController
  ... 中略 ...

  def thanks
    @inquiry = Inquiry.new(post_params)
    if @inquiry.save == false
      render template: 'inquiry/index'
    end
  end

  ... 中略 ...
end

たったこれだけでした。

save実行時にバリデーションが実行されるので、わざわざやる必要が無いそうです。

railsguides.jp

 

因みに、モデルに値を渡して初期化されるか確認するには、railsのコンソールで下記のようにコマンドできます。

>bundler exec rails console --sandbox

>inquiry = Inquiry.new(name: 'hoge_name', mail: 'hoge_mail@gmail.com', telephone: '12345')

=> #<Inquiry id: nil, name: "hoge_name", mail: "hoge_mail@gmail.com", telephone: "12345", created_at: nil, updated_at: nil>

 

だいぶ呆気ないのですが簡単なお問い合わせフォームで感覚を掴んでみる程度だと、こんなもんで登録できてしまいます。

 

課題

モデル

  • 書き方(ビジネスロジックとの住み分け)
  • 初期化(attr_accessorが不要な理由
  • 親子関係のテーブルの扱いかた

バリデーション

  • 自作
  • 組み合わせ
  • テーブルの親子関係

その他

  • 例外処理
  • ロールバックの動き
  • テーブル構築時の指定(not nullなど) 
  • データの流し込み作業

ざっと考えただけでもこれくらいある。

とりあえず、1つずつ吸収していくしかないですね。

 

お問い合わせフォームに関してはこれで完結とさせていただきます。

今後は疑問に思った事を中心に作業してみたいと思います。

 

以上、最後まで読んでいただきありがとうございます。