2017-05-30 4 views
0

Dans mon application, j'ai des modèles Post & Domain. Mon application fonctionne en tant que, l'utilisateur doit soumettre un domain pour pouvoir voir tous posts en posts#index.Ruby on Rails - vérifier si l'utilisateur a ajouté un domaine et si elles ont été approuvées

Actuellement je vérifie si l'utilisateur a soumis unedomain & leur montrer tous posts. Je le fais par:

- if current_user.domains.blank? 
    %p Please add a domain to see all posts 
- else 
    - @posts.each do |post| 
    // each post 

Je veux changer la façon dont je le fais actuellement. Tous soumis domains doit être approuvé (status: true) d'abord & parfois un utilisateur soumettent plusieurs domaines. Ce que je veux accomplir maintenant est de vérifier si aucun des domains n'a été approved/status: true, avant de leur montrer posts.

Vérifiez donc essentiellement si current_user a une domain et si oui vérifier qu'aucun des domains a été approuvé (status: true) avant de les montrer posts.

Répondre

1

vous pouvez le faire comme ci-dessous

- if current_user.domains.approved_domains.blank? 
    %p Please add a domain to see all posts 
- else 
    - @posts.each do |post| 
    // each post 

et ajouter la portée approved_domains au modèle de domaine que suivre

scope :approved_domains, -> { where(status: true) } 
+0

Merci un groupe @Mahmoud. Appréciez votre aide :) Si vous trouvez ma question utile pour les autres, j'apprécierais un coup de pouce :) – Rubioli