2009-12-08 4 views
4

Disons que vous aviez un formulaire simple pour créer un nouvel objet article dans votre application.Remplir automatiquement les champs de formulaire dans Rails?

<% form_for @article do |f| %> 
<p> 
    name:<br /> 
    <%= f.text_field :name %> 
</p> 
<p> 
    link:<br /> 
    <%= f.text_field :link %> 
</p> 

<p> 
    <%= submit_tag %> 
</p> 

J'utilise l'analyseur de flux RSS Feedtools pour obtenir les noms d'article, mais je ne peux pas sembler remplir automatiquement les champs de formulaire de données qui sont accessibles ailleurs. Dites le nom de l'article est accessible par params[:name]. Comment puis-je obtenir le nom de l'article de params[:name] (ou params[:link] d'ailleurs) dans le champ de formulaire sans que l'utilisateur doive le saisir? Je ne veux pas créer automatiquement un objet article parce que l'utilisateur peut vouloir modifier légèrement le nom.

Répondre

11

Si vous transmettez les informations que vous souhaitez afficher au constructeur Article dans l'action new, le formulaire s'affichera. Même si un nouvel objet a été instancié, il ne sera pas conservé dans la base de données car à aucun moment la méthode save n'a été appelée. Cela se produira dans l'action de création. Sans en savoir plus sur la logique de votre application, je ne peux plus vous aider à assembler les pièces. Cela devrait vous arriver presque là.

+0

Merci Steve. Celui-ci devrait fonctionner aussi. –

+0

aucun problème kenji! –

+1

Je dirais que c'est la façon la plus "standard" de le faire, puisque vous utilisez un objet @article cela vous permet de réutiliser le formulaire partial pour new et edit. – MattMcKnight

Questions connexes