0
Railsは、デフォルトでフォームの上にあるすべてのフォームのエラーメッセージをulに表示します。各フィールドのエラーメッセージを対応するフィールドの横に表示します。検証エラーメッセージを分割するにはどうすればよいですか?
form.html.erb
<%= form_for @product do |f| %>
<% if @product.errors.any? %>
<ul id="error_explanation">
<% @product.errors.each_with_index do |msg, i| %>
<li><%= msg[1] %></li>
<% end %>
</ul>
<% end %>
<fieldset>
<%= f.text_field :title, :placeholder => "Product Title", :title => "Type product title", :autofocus => 'autofocus' %>
<%= f.text_area :description, :placeholder => "Product Description", :title => "Type product description" %>
<%= f.collection_select :category_id, Category.all, :id, :name %>
</fieldset>
<%= f.submit "Create", :class => "btn btn-big btn-action" %>
<%= link_to "cancel", categories_path %>
<% end %>
product.rb
class Product < ActiveRecord::Base
attr_accessible :title, :description, :price, :category_id
validates :title, :presence => { :message => "All products need a title bro!" }
validates_uniqueness_of :title
validates :description, :presence => { :message => "This ain't gonna be too interesting without a description?!" }
validates :price, :presence => { :message => "How you gonna make money if shit is free?!" }
belongs_to :category
end