我有以下所需的html(超薄模板):
li
label
span
| Password
small.error ERROR MESSAGE
br
= f.password_field :password
我想把错误(small.error)放在" span"上方。
我的解决方案(到目前为止)是:
ActionView::Base.field_error_proc = Proc.new do |html_tag, instance|
if instance.error_message.kind_of?(Array)
%(#{html_tag}<small class="error">
#{instance.error_message.join(',')}</small>).html_safe
else
%(#{html_tag}<small class="error">
#{instance.error_message}</small>).html_safe
end
end
但是以这种方式,小标签已经放在输入标签的正下方。
我可以更改目标位置吗?
答案 0 :(得分:0)
使用javascript解决问题:
$("small.error").each(function(){
$(this).appendTo($(this).parent("label").find("span"));
});