У меня есть форма, и для макета (и будущего использования) я хотел бы знать, как изменить стандартную f.submit, которая генерирует:
В HTML-тег, который не должен выдавать ошибок.
Теперь у меня есть расширение на формбилдере
На мой взгляд:
<%= form_for resource, :as => resource_name, :url => session_path(resource_name), :class => "form with-margin", :builder => AppFormBuilder do |f| %>
...
<%= f.submit %>
<% end %>
В моем lib / appformbuilder:
class AppFormBuilder < ActionView::Helpers::FormBuilder
def submit(text, options = {})
options[:type] = "submit"
@template.content_tag(:button, text, options)
end
end
Но это дает мне ошибку:
NameError in Devise/sessions#new
Showing d:/Projects/Websites/Ruby On Rails/fact-it/app/views/devise/sessions/new.html.erb where line #11 raised:
uninitialized constant ActionView::CompiledTemplates::AppFormBuilder
8:
9: <p class="message error no-margin alert"><%= alert %></p>
10: <p class="notice"><%= notice %></p>
11: <%= form_for resource, :as => resource_name, :url => session_path(resource_name), :class => "form with-margin", :builder => AppFormBuilder do |f| %>
12: <p><%= f.label :email %><br />
13: <%= f.text_field :email %></p>
14: