23

I am using simple_form in my Rails application, I tried to add form-horizontal class to my form.

<form accept-charset="UTF-8" action="/account/orders" class="simple_form new_order" data-validate="true" enctype="multipart/form-data" id="new_order" method="post" novalidate="novalidate">

When I use html: { class: "form-horizontal" } it change class="simple_form new_order" to class="simple_form form-horizontal".

What should I do to keep new_order class?

szpon
  • 285
  • 2
  • 3
  • 9

3 Answers3

64

it works for me like this

= simple_form_for @model, html: { class: "form-horizontal"} do |f|
  ...

it compiles to

<form accept-charset="UTF-8" action="/numbers" class="simple_form form-horizontal" id="new_number" method="post">
Pavel Kalashnikov
  • 1,532
  • 1
  • 16
  • 19
  • 3
    I think it's worth mentioning that this question was asked in Dec 2012. According to the version history, https://rubygems.org/gems/simple_form/versions, Simple Form 3 had not been released yet. In Simple Form 2, this answer is not correct. – Kurt Mueller Jun 10 '15 at 14:54
3

It's intended behaviour.

So if you want to change it you should monkey-patch simple_form_css_class method in this file.

Maksim Kalmykov
  • 1,259
  • 3
  • 20
  • 25
Vasiliy Ermolovich
  • 24,067
  • 5
  • 78
  • 76
3

this works for me config.form_class = 'form-horizontal' and keep new_model class

aminhotob
  • 1,046
  • 14
  • 17