J'ai une relation un-à-plusieurs entre ma classe Profile et la classe Photos. Le profil contient les informations de l'utilisateur et les photos contiennent les photos de l'utilisateur. Actuellement, le lien "Importer une photo" s'affiche en bas de la vue de profil. Je veux que le lien apparaisse sur une vue séparée au lieu de tout bourrer sur le même formulaire. Dois-je simplement créer une nouvelle vue appelée profile_photo.html.erb pour afficher ce lien ou dois-je créer un nouveau contrôleur et un nouveau modèle associés aux photos? Quelle est la pratique recommandée?Ruby on Rails: Nouveau contrôleur pour les photos?
2
A
Répondre
3
La classe "Photos" devrait s'appeler "Photo", car Rails utilise des noms singuliers pour les modèles.
Oui, vous devez créer un nouveau contrôleur pour créer des photos car il s'agit d'une autre ressource. Vous voudrez probablement éditer les photos éventuellement, en ajoutant des descriptions et ainsi de suite.
3
Je suis d'accord avec Radar, vous aurez envie de créer un PhotosController. Lorsque vous faites cela, vous pouvez aller plus loin et définir la relation has_many dans le fichier routes.rb. Comme si:
map.resources :photos
map.resources :profiles, :has_many => :photos
Cela va générer des urls comme profile_photos_path
, new_profile_photo_path
, etc ... exécutez la commande rake routes
pour voir ce qu'il vous donne. Cela aidera à garder votre code SEC et facile à lire.
Questions connexes
- 1. CMS pour Ruby on Rails
- 2. ruby on rails formulaire_pour
- 3. Ruby on Rails: Comment joindre deux tables
- 4. Recherche dans Ruby On Rails
- 5. Ruby on Rails MVC Question
- 6. Formulaire booléen Ruby on Rails
- 7. Ruby on Rails - Configuration de base du contrôleur sur Dreamhost
- 8. Ruby on Rails - paramètre tronquer
- 9. Ruby on rails internationalization pour l'espagnol
- 10. OCIError (ruby on rails)
- 11. LocalJumpError (Ruby on Rails)
- 12. Ruby on Rails d'installation
- 13. Ruby on Rails: « find_create_by_user »
- 14. Activités récentes dans Ruby on Rails
- 15. Ruby On Rails ID personnalisé
- 16. Ruby on Rails regex
- 17. Ruby on Rails SQL Optimisations
- 18. Ruby On Rails et "classes externes"
- 19. Connexion/Inscription Ruby on Rails?
- 20. Ruby on rails racine de l'application
- 21. Afficher l'email Ruby on Rails
- 22. Ruby on Rails, détection Javascript
- 23. Association polymorphe Ruby on Rails
- 24. Antipatterns avec Ruby on Rails
- 25. Ruby on Rails vs Django
- 26. ruby on rails va paginer entre les dates
- 27. Triple rejoindre Ruby on Rails
- 28. Action de transaction avec Ruby On Rails
- 29. Ruby on Rails Actions help
- 30. Ruby on Rails - Se connecter
Lorsqu'un nouvel utilisateur remplit le formulaire de profils, il est redirigé vers le formulaire de photos, mais comment puis-je insérer profile_id dans la table des photos? Devrais-je passer le profil_id en faisant un redirect_to dans le contrôleur de profils? Dans le contrôleur de photos, je peux insérer manuellement le profil_id passé. – Max
Une fois que l'utilisateur a rempli un formulaire de profils, les dirigez-vous vers photos_path ou profile_photos_path? Si vous utilisez le plus tard, le profile_id doit être inclus dans l'url et vous pouvez y accéder via le hash params. – vrish88