当我尝试使用 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
。我该怎么做?当我查看它时,格式对我来说很棘手。
谢谢。