J'essaye de SECHER un code en déplaçant de la logique dans FormBuilder. Après avoir lu la documentation sur la façon de sélectionner et de créer un formulaire alternatif, la solution logique pour moi semblait être quelque chose comme ça.Essayer d'étendre ActionView :: Helpers :: FormBuilder
De l'avis
<% form_for @event, :builder => TestFormBuilder do |f| %>
<%= f.test %>
<%= f.submit 'Update' %>
<% end %>
puis dans app/helpers/application_helper.rb
module ApplicationHelper
class TestFormBuilder < ActionView::Helpers::FormBuilder
def test
puts 'apa'
end
end
end
Ceci, cependant, me donne une erreur au "form_for"
uninitialized constant ActionView::Base::CompiledTemplates::TestFormBuilder
Où est-ce que je fais mal?
Merci. Ça a marché. Est-ce documenté quelque part ou ai-je manqué quelque chose dans la structure des rails? –
Vous devez définir une classe. Vous n'avez donc pas besoin de le placer dans votre ApplicationHelper. Vous pouvez donc placer votre classe dans votre bibliothèque et l'utiliser sans espace de noms. – shingara
Existe-t-il un moyen plus élégant que celui-ci? – JohnMerlino