10
votes

Rails champs_for rendu partiel avec plusieurs locaux produisant une variable non définie

Tout,

Je rencontre un problème avec une configuration de champs standard_for. Dans mon "deform" partielle, j'ai: p> xxx pré>

dans "_comment_fields" partielle, j'ai les champs habituels, puis ma variable de test: p> xxx Pre>

Lorsque je retire la variable du testeur, tout fonctionne bien. Dès que j'ajouterai la variable de test, je reçois cette erreur: p>

actionview :: template :: erreur (variable locale indéfinie ou méthode `testeur 'pour #class: 0xa1f3664>: 0xa1f1bd4>) em> p> p> BlockQuote>

Quelqu'un d'autre a-t-il eu dans ce problème lors de l'utilisation d'un champ de champ avec plusieurs locaux? P>


Pour élaborer un peu plus, mon "_comment_fields" ressemble à ceci: p >

<div class="comment dynamic_field">
  <span class="comment_content"><%= f.text_field :content, :class => "comment_content" %></span>
  <%= tester.to_s %>
  <%= link_to_remove_fields "remove", f %>
</div>


3 commentaires

Êtes-vous sûr de ne pas rendu commentaires_fields dans plus d'un endroit? Si vous êtes, pouvez-vous coller commentaires_fields?


Malheureusement, je ne fais que rendre des commentaires_fields de la forme de forme. Le problème ne se produit que lorsque j'essaie de passer plus d'une variable locale.


Hakunin - tu avais raison sur celui-ci. Je l'appelais en fait de deux endroits. La deuxième place était dans certaines méthodes que j'utilise pour ajouter de manière dynamique des champs à l'aide de JavaScript.


3 Réponses :


0
votes

Je ne suis pas clair pourquoi devez-vous utiliser la variable de testeur dans le champ de formulaire. Mais pouvez-vous placer un code comment utilisez-vous la variable de testeur sous forme partielle.

Je crois fermement que xxx

ne devrait pas générer d'autre problème car il ne peut générer aucun problème car il ne présente qu'une valeur que de cette variable


1 commentaires

La variable de testeur est juste que ... un test. Dans ce qui précède, un commentaire appartient à un article. L'article appartient à un compte. Ce que je veux vraiment faire, c'est passer dans le compte de l'article. Mes habitants ressemblent à quelque chose comme :: locaux => {: f => cf,: compte => article.accompount}. Malheureusement, cela ne fonctionnait pas et je recevais l'erreur "Variable non définie". Dans le cadre de mon débogage, j'ai simplifié avec cette variable "testeur". Comme vous l'avez mentionné, cela ne devrait pas générer de problème. C'est le problème.



16
votes

Tout,

Hakunin était sur l'argent. J'appelais la partielle dans plus d'une place. La deuxième place était dans ma méthode d'assistance "link_to_add_fields". J'utilise ceci pour ajouter des champs à l'aide de JavaScript. P>

La méthode ressemblait à ceci: p> xxx pré>

Notez que cela ne permet pas de transmettre aux locaux à la Méthode de rendu. J'ai changé comme suit: p> xxx pré>

MAINTY_TO_AADD_Fields appelle dans mon _Form Partial ressemble à ceci: p>

<%= link_to_add_fields "Add a comment", f, :comments, :tester => true %>


4 commentaires

Incroyable, j'ai aussi eu une méthode link_to_add_fields qui causait ce problème exact! Merci d'avoir posté votre réponse!


C'est bon jamais pensé que le lien_to_add_fields provoque l'erreur: D


klass.new devrait maintenant être build_association apidock.com/rails/acterecord/reflection/associiativeReflect ion / ...


Désolé, lisez plus en détail: apidock.com/rails/acterecord/reflection/abstractreflection / ... < / a>