検索

ホームページ  >  に質問  >  本文

ruby - rails的表单验证后格式错乱问题

举个例子,在表单中有这样的内容:

    <dl>                                                                                                                                                                                                                                                                        
      <dt>
        <%= f.label :subject %>
      </dt>
      <dd>
        <%= f.text_field :subject %>
      </dd>
    </dl>

在浏览器中显示成:

■Subject

(※注:■由CSS生成)

如果对表单进行验证,验证后再显示的格式就乱了,变成这样:

■
Subject

为什么会错位呢?

天蓬老师天蓬老师2778日前731

全員に返信(1)返信します

  • 天蓬老师

    天蓬老师2017-04-21 11:17:23

    ActionView::Base.field_error_proc をオーバーライドする必要があります。現在、ActionView::Base 内で次のように定義されています:ActionView::Base.field_error_proc. It's currently defined as this within ActionView::Base:

     @@field_error_proc = Proc.new{ |html_tag, instance| 
       "<p class=\"field_with_errors\">#{html_tag}</p>".html_safe
     }
    

    You can override it by putting this in your application's class inside config/application.rb リーリー

    これを config/application.rb 内のアプリケーションのクラスに置くことでオーバーライドできます。

    リーリー

    この変更を有効にするには、Rails サーバーを再起動します。

    (全文抄袭自 http://stackoverflow.com/questions/5267998/rails-3-field-with-errors-wrapper-changes-the-page-Appearance-how-to-avoid-t)

    当然、これをさらに推荐変更します🎜 リーリー

    返事
    0
  • キャンセル返事