#author("2022-07-19T06:59:41+00:00","default:src128","src128") &tag(Rails/検証/基本的な流れ); *目次 [#tcdea986] #contents *関連ページ [#o608bfc5] *参考情報 [#c1481d80] **一般的なCRUD処理時の検証の流れ [#o19460f3] -モデルクラスにvalidatesメソッドの追加 #pre{{ class Item < ActiveRecord::Base validates :title, presence: true end }} -controllerクラスでの検証 -scaffoldのデフォルト実装でも検証は行われる。 #pre{{ def create @item = Item.new(item_params) respond_to do |format| if @item.save format.html { redirect_to @item, notice: 'Item was successfully created.' } format.json { render :show, status: :created, location: @item } else format.html { render :new } format.json { render json: @item.errors, status: :unprocessable_entity } end end end }} -ビューでは以下のようにエラーメッセージを表示する(もう少し分かりやすく表示する必要あり) #pre{{ <%= form_for(@item) do |f| %> <% if @item.errors.any? %> <div id="error_explanation"> <h2>エラーが発生しました :</h2> <ul> <% @item.errors.full_messages.each do |msg| %> <li><%= msg %></li> <% end %> </ul> </div> <% end %> <div class="field"> <%= f.label :title %><br> <%= f.text_field :title %> </div> <div class="field"> <%= f.label :content %><br> <%= f.text_area :content %> </div> <div class="actions"> <%= f.submit %> </div> <% end %> }}