Luttant avec celui-ci un peu. J'ai deux formulaire de recherche de paramètres, quand les deux champs correspondent, il retourne la ligne dans @person:Rails/3 - Rendu partiel basé sur l'état de la variable d'instance?
Donc ce que je veux arriver, c'est rendre un partiel avant la recherche, un autre si une personne est appariée et un autre si un enregistrement n'est pas trouvé.
Où cette logique va-t-elle et que puis-je vérifier?
def index
if params[:id] && params[:dob]
@person = Person.where("id = ? and dob = ?", params[:id], params[:dob]).first
end
end
Dans mon index.html.haml
-if ! @person.nil
=render :partial => 'found'
-elsif @person.nil
=render :partial => 'not_found'
-else
=render :partial => 'welcome'
problème est que @ person.nil? est toujours vrai, que la recherche soit effectuée ou non. Quelqu'un at-il des idées quoi faire? Qu'est-ce que je rate?
'@person = @person ='? – Matchu
Aussi, s'il vous plaît assurez-vous de copier-coller votre code source exactement. 'elif' dans votre vue n'est pas valide Ruby, indiquant que cela a probablement été tapé à la main;) Tout comme le paren manquant à la fin de la ligne 3 du bit de contrôleur. Oh, et '@ person.nil' serait un attribut. Voulez-vous dire '@ person.nil?' Il est difficile de répondre à une question de code quand ce n'est probablement pas le code en question. – Matchu
@Matchu, à en juger par l'extension .haml de index.html.haml, on dirait qu'il utilise HAML. Une rapide vérification des documents HAML - http://haml-lang.com/docs/yardoc/file.HAML_REFERENCE.html#running_ruby_ - semble être valide, même si je ne connais pas assez HAML pour savoir si est correct. –