2011-05-14 3 views
1

Je commence à utiliser le mode simple_form pour une application rails, et lors de la conversion de certains de mes formulaires, j'en suis tombé sur un qui a deux modèles avec lesquels il travaille, en quelque sorte un formulaire incorporé. Est-ce possible avec simple_form?rails simple_form deux modèles

<% simple_form_for :topic, :url => forum_topics_path do |t| %> 
<%= t.input :name, :label => 'Topic' %></p> 

<p>First Post:<br/></p> 
Title: <%= text_field :post, :title %> <--- this is where i start having problems 
Body: <%= text_area :post, :body %> 
<%= t.submit 'Save' %> 

Merci

Répondre

8

Utilisez simple_fields_for:

<%= simple_form_for :topic, :url => forum_topics_path do |topic_builder| %> 
    <%= topic_builder.input :name, :label => 'Topic' %> 
    <%= topic_builder.simple_fields_for :post do |post_builder| %> 
    <p>First Post:</p> 
    <%= post_builder.input :title, :input_html => { :size => 30 } %> 
    <%= post_builder.input :body, :as => :text, :input_html => { :rows => 20, :cols => 50, :class => 'resizable' } %> 
    <% end %> 
    <%= topic_builder.submit 'Save' %> 
<% end %> 

Remarques

  • Notez le symbole = dans <%= simple_form_for ... et <%= simple_fields_for (obligatoire dans 3.x Rails)

  • Suppression du texte "Title:" et "Body:". Utilisez l'étiquette générée pour les entrées et marquez leur emplacement avec CSS si nécessaire.

  • exemple d'utilisation Ajouté input_html

Questions connexes