Je crée un site de critique de livre très simple et il a besoin de la capacité de permettre à l'utilisateur d'ajouter des petits commentaires au sujet d'un livre. Maintenant, j'ai mes deux tables, une pour le livre et une pour les commentaires et j'ai maintenant besoin d'un moyen de transférer des données entre les deux parce que je trouve la façon dont les rails manipule les choses assez curieux.Transfert des variables entre les modèles en utilisant une vue
donc mon modèle de livre contient « has_many: commentaires » et moi de commenter le modèle a: « belongs_to: livre »
la vue que je suis en utilisant à la fois vue et ajouter des commentaires est «/views/livre/ViewBook. html.erb « cela montre le livre et tous ses détails, au fond est une section où l'utilisateur peut ajouter leurs propres commentaires, il ressemble à ceci:
<%= form.text_field :title %>
<%= form.text_area :body %>
<%= submit_tag "Add Comment", :class => "submit" %>
maintenant je sais que ce ne peut pas fonctionner parce que ci-dessus » : title "et": body "seraient dans le modèle du livre mais j'ai besoin qu'ils soient envoyés au modèle de commentaire car ils sont dans le DB de commentaire. Comment puis-je transmettre ces données à la base de données de commentaires? J'ai essayé ": comment.title" et d'autres choses différentes, mais ne peut toujours pas travailler sur comment transmettre ces données.
Toutes les pensées seraient grandement appréciées.
(Excusez-moi si cette question est très stupide ou n'a pas été expliqué bien, mon professeur régler cette mission et les rails n'est pas une langue que j'ai jamais utilisé.)
On dirait que cela devrait fonctionner. Vos associations sont-elles correctement configurées dans vos modèles (has_many et belongs_to)? Peut-être que c'est la sauvegarde de l'information correcte, mais sans les associations correctes, il ne trouve pas ce qu'il devrait. – Jarrod
N'accepte pas l'affichage user_id via le formulaire. Lisez-le de la session lorsque vous enregistrez le commentaire dans la base de données. Sinon, n'importe qui peut soumettre un commentaire comme n'importe qui d'autre. En d'autres termes, vous ne devez pas approuver les données envoyées par le client. – James