0

何らかの理由で、検証エラー メッセージがウィンドウに表示されません。それはtwitter-bootstrapと関係がありますか? ビデオ チュートリアルを見た覚えがありますが、残念ながら今は見つかりません。

_レコードの部分的な形

<%= form_for [@estate,@record] do |f| %>
      <% if @record.errors.any? %>
        <div id="error_explanation">
          <h2><%= pluralize(@record.errors.count, "error") %> prohibited this record from being saved:</h2>

          <ul>
          <% @record.errors.full_messages.each do |msg| %>
            <li><%= msg %></li>
          <% end %>
          </ul>
        </div>
      <% end %>
    .......
    ......
    ...
    <% end %>

私のレコードモデル

validates :E1, presence: true
      validates :E2, presence: true
      validates :E3, presence: true
      validates :E4, presence: true
      validates :R1, presence: true
      validates :R2, presence: true
      validates :R3, presence: true
      validates :R4, presence: true
      validates :Year, presence: true
      validate :validation

コントローラーの create および update メソッド

def create
        @record = @estate.records.build(params[:record])

        respond_to do |format|
          if @record.save
            format.html { redirect_to [@estate,@record], notice: 'Record was successfully created.' }
            format.json { render json: @record, status: :created, location: @record }
          else
            format.html { render action: "new" }
            format.json { render json: @record.errors, status: :unprocessable_entity }
          end
        end
      end

      # PUT /records/1
      # PUT /records/1.json
      def update
        @record = Record.find(params[:id])

        respond_to do |format|
          if @record.update_attributes(params[:record])
            format.html { redirect_to [@estate,@record], notice: 'Record was successfully updated.' }
            format.json { head :no_content }
          else
            format.html { render action: "edit" }
            format.json { render json: @record.errors, status: :unprocessable_entity }
          end
        end
      end

レコードがエステートに属し、エステートには多くのレコードがあることは何か関係がありますか。レコードの作成中に「 @record = @estate.records.build(params[:record])」を行うように、デバッガーを使用してデバッグしようとしましたが、レコードの作成時にelse部分に入っていないことがわかりました。レコード モデルからの検証をチェックせずにレコードを直接作成しています。

4

1 に答える 1