Est-il possible d'avoir 2 .each sur la même vue. Avec eux faire des recherches différentes? Par exemple, si je veux afficher tous les messages publiés par un utilisateur spécifique. J'aurais l'action suivante dans mon contrôleur utilisateurs:Rails: Est-il possible d'avoir 2 boucles différentes sur la même vue?
def show
@user = User.find(params[:id])
@posts = @user.posts
end
Puis dans la vue je l'aurais:
- @posts.each do |post|
=post.title
Alors Si je voulais afficher les messages par d'autres utilisateurs sur le même point de vue. En utilisant le ci-dessus ne fonctionnera pas comme sa seule recherche pour les messages des utilisateurs spécifiques. Puis-je créer une nouvelle action? Quelque chose comme ce qui suit:
def showAll
@user = User.find(params[:id])
@posts = Post.where(:attribute => value).order("created_at DESC")
end
Puis retour dans la page de vue j'aurais une autre each.do avec celui-ci étant l'action showAll comme:
- @posts.each do |post|
=post.title
Comment puis-je atteindre cet objectif? Est-ce la bonne façon d'utiliser les actions?
'@posts = (@user == current_user)? @ user.posts: Post.where (: attribut => valeur) .order ("created_at DESC") 'essayez ceci dans votre show show –
Il y a probablement un type de connexion pour lequel les utilisateurs pour lesquels vous voulez montrer des données. Au lieu de trouver des utilisateurs individuels ligne par ligne, je trouverais d'abord les utilisateurs par leur lien commun (par exemple User.where (quelque chose: vrai). – bkunzi01