[RUBY] [Rails] fields_for n'est pas affiché

Cette fois, quand j'ai essayé d'utiliser "file_field" dans "fields_for", j'ai eu du mal parce qu'il n'était pas reflété dans la vue, donc je décrirai comment le résoudre sous forme de mémorandum. J'espère que cela aidera ceux qui ont les mêmes problèmes.

Le modèle qui apparaît cette fois

・ Modèle de poste (parent) ・ Modèle d'image (enfant)

Nous nous associons au modèle de poste et au modèle d'image accepte_nested_attributes_for.

supposition

Créez des SNS comme Twitter et FB. Je suis sur le point de créer un formulaire de publication en utilisant "form_for".

Phrase → post-modèle Photo → modèle d'image Je voulais l'enregistrer et j'ai créé une vue comme celle-ci:

Mauvais code

(Seules les parties pertinentes sont extraites pour une compréhension facile)

haml


.form__contents
  = form_for @post, id: "new_post" do |f|
    .title
      = f.text_field :title
    .text
      = f.text_area :text
    .image
      = f.fields_for :images do |i|
        = i.file_field :image
    = f.submit "Publier!"

D'accord, le codage est terminé! !! Allons à la vue! !! …cette,,"= f.fields_for :images do |i|Ce qui suit n'est pas reflété ... De plus, je ne sais pas ce qui ne va pas car il n'y a pas d'erreurs ... j'ai fait ce que j'ai vérifié ...

Code qui a fonctionné

haml


.form__contents
  = form_for @post, id: "new_post" do |f|
    .title
      = f.text_field :title
    .text
      = f.text_area :text
    .image
      = f.fields_for :images, @post.images.build do |i|
        = i.file_field :image
    = f.submit "Publier!"

Résumé

Je pensais juste que si vous écrivez le modèle que vous souhaitez enregistrer dans "fields_for", il sera sauvegardé dans la colonne décrite dans "file_field".

Il semble que je devais passer ** une instance de modèle enfant ** au deuxième argument de "fields_for".

Je vois ... C'est naturel parce que je donne également une instance à "form_for". (J'ai d'abord appris que vous pouvez créer une instance images.build en premier lieu!)

De plus en plus.

Site référencé

Recommended Posts

[Rails] fields_for n'est pas affiché
rails Le déploiement AWS n'est pas reflété
Les données ne sont pas enregistrées dans Rails.
MySQL ne fonctionne pas de manière stable ... L'application Rails ne fonctionne pas.
L'image n'est pas affichée dans l'environnement de production
[Rails] À propos de l'erreur selon laquelle l'image n'est pas affichée dans l'environnement de production
Le message d'erreur du périphérique ne s'affiche pas correctement.
rail nouveau nom d'application non créé
Lorsque le projet n'est pas affiché dans eclipse
[Erreur] L'application ne s'affiche pas dans l'environnement de production
[Ruby on rails] Lors de l'exécution de la commande heroku, bash: heroku: command not found s'affiche. [Tutoriel Rails]
DateFormat n'est pas thread-safe
"tx" n'est pas une erreur liée
Qu'est-ce que Rails Gem Concevoir?
Erreur de rails Bibliothèque non chargée
[Vue Rails] "Hello Vue!" Affiché avec Vue + Rails
Que faire si FacesMessage est défini mais pas affiché
Les rails sont difficiles et douloureux!
Les rails sont difficiles et douloureux! Ⅱ
[Rails 6] Introduction de jQuery ・ La solution de l'erreur de référence non interceptée $ n'est pas définie
[Rails] Lorsque le changement de disposition du dispositif n'est pas reflété
fields_for est utilisé comme ceci
L'erreur de remplacement final [Java] ne s'affiche pas au moment de la compilation
Qu'est-ce que Rails Active Record?
Comment résoudre le problème que l'image du site Web ne s'affiche pas après le déploiement sur heroku dans Rails 5
À propos du problème selon lequel l'image n'est pas affichée après le déploiement AWS
[Rails] Que faire si les données ne sont pas enregistrées dans la base de données
[rails] Les modifications de la page d'affichage créées par l'appareil ne sont pas reflétées
Erreur de référence non interceptée: l'histoire de Vue n'est pas définie
cette? WebView (swift) ne fonctionne pas.
Le calendrier Java n'est pas un singleton.
Pourquoi Java Vector n'est pas utilisé
[À voir absolument pour les débutants] rails_12factor n'est pas nécessaire pour publier l'application Rails sur Heroku
[Rails] Que faire lorsque l'image Refile n'est pas affichée lors de l'écriture du traitement au moment de l'erreur de routage