Les Rails de façon à vérifier pour objet l'existence avant l'affichage
Je veux trouver un bon moyen de vérifier mes objets avant que je les affiche dans la vue, de sorte que je n'obtenez des erreurs.
C'est mon controleur
@user = User.find_by_username(params[:username])
@profile = @user.profile
@questions = @user.questions
et c'est mon point de vue
<% unless @profile.blank? %><%= link_to 'Edit Profile', :controller => 'profiles', :action => 'edit' %><% end %>
<% unless @user.blank? %>
Username:<%= @user.username %><br />
Member Since:<%= @user.created_at.strftime("%d %B %Y") %><br />
<% end %>
<% unless @profile.blank? %>
First Name: <%= @profile.first_name %><br />
Last Name: <%= @profile.last_name %><br /><br />
About: <%= @profile.body %><br /><br />
Location: <%= @profile.location %><br />
Birthday: <%= @profile.birthday.strftime("%d %B %Y") %><br />
<% end %>
Comme vous pouvez le voir, je suis en utilisant plus d'une vérification de chaque sorte ( à vérifier, à moins que @profil.vide? ) et je pense qu'il y aura une meilleure façon de le faire.
Est-il des Rails de chemin à faire quelque chose de plus intelligent que celui que j'ai grandi avec ?
OriginalL'auteur Sharethefun | 2010-09-25
Vous devez vous connecter pour publier un commentaire.
Comme je le vois, il n'y a aucun moyen que vous pouvez ignorer cette @.vide? la validation que vous ne voulez pas afficher les enregistrements s'ils sont vides, mais j'ai quelques suggestions
1 - Faire des sections suivantes comme partiels
et
il gardera votre point de vue propre et vous donnera la possibilité de leur utilisation dans des anyware dans votre application
2 - prendre la ligne ci-dessous
à l'intérieur de l'affichage du profil que son plus appropriée
acclamations
sameera
OriginalL'auteur sameera207
Aussi
semble beaucoup plus simple pour moi que de
surtout lorsque l'on a plus d'une instruction conditionnelle (
&&
\||
\and
\or
).api.rubyonrails.org
OriginalL'auteur jibiel
Selon les rails de la documentation, vous pouvez voir si tout les objets existent par l'aide de l'association.néant? méthode:
OriginalL'auteur Daniel Morales
Comment sur la construction de vide profil de l'utilisateur avant de l'enregistrer? Comment sur l'utilisation de l'analogie avec le point d'exclamation qui va élever
ActiveRecord::RecordNotFound
qui à son tour permettra d'afficher la page d'erreur 404.P. S. je recommande aussi le parage contrôleur vers le bas à une variable d'instance.
ok, alors - ce qui est le point de créer un utilisateur sans qu'un profil?
le profil est un autre modèle. Le monde n'a pas un profil.
OriginalL'auteur Eimantas
Probablement les rails approche serait d'utiliser Objet#présence
vous devriez toujours
unless @object.blank?
comme vous l'avez fait.OriginalL'auteur ankit.vic