question # 2013421 Référencer, j'ai les modèles suivants: RoRRuby on Rails: Comment collecter des valeurs pour les tables enfant à partir d'un formulaire?
class Game < ActiveRecord::Base
has_many :piles
end
class Pile < ActiveRecord::Base
belongs_to :game
end
Pour les besoins du raisonnement, supposons que Game
a un attribut name
et Pile
a un attribut type
, à la fois string
. Il y a précisément 10 piles par jeu.
Je voudrais un formulaire HTML unique pour créer un nouveau jeu, similaire à celui généré par ruby script\generate scaffold
; qui est comme:
<h1>New game</h1>
<% form_for(@game) do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :name %><br />
<%= f.text_field :name %>
</p>
<p>
<%= f.submit 'Create' %>
</p>
<% end %>
<%= link_to 'Back', games_path %>
Comment puis-je ajouter des champs à la forme afin de lire les valeurs du champ Pile.type
pour chacun des 10 piles?
Je vois dans le guide que accept_nested_attributes_for est une fonctionnalité de Rails 2.3. Malheureusement, mon serveur web tourne sur Debian en utilisant les paquets apt-get, et ce n'est que jusqu'à Rails 2.2. Cependant, en jouant, j'ai réussi à faire fonctionner le f.fields_for incantation pour me fournir un hachage interprétable, ce qui est tout ce dont j'ai besoin. – Chowlett
Si les paquets apt-get sont derrière, installez la gemme, c'est aussi simple que d'utiliser apt-get. – EmFi
Je ne possède pas mon serveur web et mon administrateur est un niveau raisonnable de paranoïaque. Bien que je serais heureux d'installer la gemme, je respecte sa préférence de ne pas. – Chowlett