0

我有以下所需的 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

但是以这种方式,小标签被放置在输入标签的正下方。

我可以更改那个目标位置吗?

4

1 回答 1

0

用javascript解决问题:

$("small.error").each(function(){
    $(this).appendTo($(this).parent("label").find("span"));
});
于 2012-08-03T14:45:22.820 回答