21

ここで小さな質問があります。

私のフラッシュ通知/アラートは中にあります[" "]

ここに画像の説明を入力

私のコントローラーでは、フォームが保存されていない場合にエラーを表示する必要があります。

format.html { redirect_to  new_project_procurement_management_plan_path, alert:"#{@project_procurement_management_plan.errors.full_messages}"}

フラッシュをビューに入れる方法は次のとおりです。

_alert.html.erb :

<% [:notice, :error, :alert].each do |level| %>
  <% unless flash[level].blank? %>
    <div class="alert alert-<%= flash_class(level) %>" id="flash">
      <a class="close" data-dismiss="alert" href="#">×</a>
      <%= content_tag :p, flash[level] %>
    </div>
  <% end %>
<% end %>

そして私のヘルパーファイルでは:

#Flash Message

    def flash_class(level)
        case level
        when :notice then "success"
        when :error then "error"
        when :alert then "error"
    end
  end

内部のエラー表示を削除するにはどうすればよいですか[" "]

誰でもそれを設定する場所を知っていますか? ありがとう。

編集

これは私のモデルの検証メッセージです:

def equality
    self.items.each do |item|
      errors.add(:base, "#{item.description.capitalize}: Quantity must be equal to the breakdown of quantity!") if item.months != item.qty
    end
  end
4

1 に答える 1

45

errors.full_messagesは、すべてのエラー メッセージの配列を返すため、括弧と引用符が表示されます。を使用.to_sentenceして、その配列を読みやすい文に変換できます。

@project_procurement_management_plan.errors.full_messages.to_sentence

于 2013-02-23T19:34:01.413 に答える