Ajax を使用してカテゴリを作成しようとすると、エラー メッセージで奇妙な動作が発生します。
現在、次のようなエラー メッセージが表示されています。
私の create.js.erb と new.js.erb は両方とも、次の行だけの同じコードを持っています:
$(".cc-form").html("<%= escape_javascript(render(:partial => 'categories/form', locals: { category: @category })) %>");
これは私のカテゴリフォームです:
<%= form_for(@category, :remote => true, :html => { :class => "add-form", :id => "cform" }) do |f| %>
<fieldset>
<p>
<%= f.label :name, "Category Name *" %>
<br />
<%= f.text_field :name %>
</p>
<div class="form-actions">
<%= f.submit "Create" %>
</div>
</fieldset>
カスタム エラー HTML を有効にするコードは次のとおりです。
# application.rb
ActionView::Base.field_error_proc = Proc.new do |html_tag, instance|
errors = Array(instance.error_message).join(',')
%(#{html_tag}<span class="validation-error"> #{errors}</span>).html_safe
end
次に、HTML 自体とエラー HTML:
<p>
<label for="category_name">Category Name *</label><span class="validation-error"> can't be blank</span>
<br>
<input id="category_name" name="category[name]" size="30" type="text" value=""><span class="validation-error"> can't be blank</span>
</p>
label
の右側ではなく、横にあるエラー メッセージのみが必要ですinput
。どうすればいいですか?私が見たとき、そのフォーマットは私にとってトリッキーです。
ありがとう。