Wystarczy używać simple_form z mastera z githuba i dodać jeden initializer, ale nadal nie jest to tak dopracowane (ten initializer nie jest w 100% sprawny) jak w przypadku połączenia simple_form + boostrap 2.
Tak, bawiłem się, dodałem nowe wrappery w initilazerze do bootstrapa3, ale jednak nie do końca mi to wszystko działało tak jak chciałem. Więc stwierdziłem, że pobawie się bootstrapem3 bez simple_form. Stąd moje pytanie o to jak ogarnąc najlepiej ten kod.
A potrzebujesz go ogarniać ? Tak szczerze. Na pierwszy rzut oka ternary operator do ustalania klasy ssie. Kod nie jest DRY ale czasem nieprzemyślana metoda helpera może więcej napsuć niż kilka powtarzanych fragmentów markupu.
można by zrobić generyczną metodę #field, bo będzie bardzo podobna do text_field i podawać tylko to, co sie zmienia, jak :password_field / :text_field
def password_field(…)
…
end
end[/code]
Helper:
def registration_form_for(resource, resource_name)
form_for(resource, as: resource_name,
url: registration_path(resource_name),
builder: RegistrationBuilder
) do |f|
yield f
end
end
views:
[code]<%= registration_form_for resource, resource_name do |f| %>
<%= devise_error_messages! %>