2013-07-11 3 views
0

Assez nouveau à Rails. J'essaye de créer un formulaire qui met à jour deux modèles, et des sorties à deux pages d'exposition séparées. Un, est-ce possible, et deux, comment? J'ai vu beaucoup de messages sur un formulaire capable de mettre à jour plusieurs modèles, mais je ne sais pas si je peux avoir un formulaire qui crée deux pages distinctes.Un formulaire pour mettre à jour plusieurs pages dans Rails

modifier:

Merci pour les commentaires à ce jour. Et, désolé pour le manque de clarté. Fondamentalement, j'ai deux modèles. L'un est pour une page "Aperçu du cours". Et la seconde est pour le "cours réel". Tout utilisateur peut voir la page d'aperçu, mais devra acheter le cours pour pouvoir voir la page du cours. Ce que j'essaie de faire est d'utiliser 1 formulaire pour créer le «cours de prévisualisation» et le «cours» en même temps.

Merci à l'avance!

+0

Voulez-vous dire ayant une forme créer une page d'exposition pour chaque enregistrement de modèle créé? – yellowreign

+0

s'il vous plaît donner des détails sur vos modèles et associations. Aussi quelques spécifications supplémentaires, qu'est-ce que vous voulez exactement faire .. – Debadatt

+0

Deux pages d'affichage, comme en fonction du formulaire que vous remplissez, il vous donne la page d'affichage respectifs? Ou après avoir rempli un formulaire, il lance en quelque sorte une page supplémentaire dans un nouvel onglet? –

Répondre

0

Vous ne pouvez pas rendre deux pages à la fois, un utilisateur ne peut voir qu'une seule page à la fois.

Mais vous pouvez créer une page qui affiche les résultats avec un codage intelligent. Si vous avez deux modèles, disons Model1 et Model2, et une vue pour chacun d'eux, par exemple modèle1/show.html.erb, vous pouvez modifier le code show.html.erb de:

<%= @model.name %> 
etc... 

à

<%= render 'display' %> 

Créez un fichier nommé _display.html.erb et placez-y le contenu de show.html.erb. Maintenant, lorsque vous visitez la page d'affichage pour Model1, il appellera l'affichage partiel et rendra toutes les informations en conséquence. Mousser, rincer, répéter pour Model2. Donc, votre page de retour pour votre formulaire double utiliserait également cette même partie. La page de résultats pour votre formulaire ressemblerait à ceci:

<%= render 'model1/display' %> 

<%= render 'model2/display' %> 

Cela tire les partials pour chaque type de modèle et il met dans la page de résultats.

Pour plus d'informations sur l'utilisation partials, voir: http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials

Questions connexes