Partage
  • Partager sur Facebook
  • Partager sur Twitter

MOOC Continuez avec Ruby on Rails

    25 mai 2016 à 1:37:53

    Bienvenue à tou⋅te⋅s pour la suite du cours Ruby on Rails !
    Ce cours vous apprendra notamment à peaufiner vos formulaires et à réaliser un système de connexion. 
    Je vous invite à poster vos questions relatives à ce cours ici : j'essaierai de répondre régulièrement, mais n'hésitez pas à discuter entre vous et à vous entraider. Les questions relatives à l'installation de Ruby on Rails iront dans le sujet du cours d'initiation.
    À très bientôt,
    Julien
    • Partager sur Facebook
    • Partager sur Twitter
      8 juin 2016 à 19:30:25

      Bonjour,

      Bravo pour les efforts que vous faites pour contribuer a l'amelioration de notre savoir en informatique. Je veux commencer a developper avec Ruby on rails, mais malheureusement j'ai un systeme d'exploitation Windows et je rencontre certains problemes pour visualiser le site réalisé avec Rails, avec cette commande : rails server.

      j'ai l'erreur suivante : Could not load 'active_record/connection_adapters/sqlite3_adapter'. Make sure that the adapter in config/database.yml is valid. If you use an adapter other than 'mysql', 'mysql2', 'postgresql' or 'sqlite3' add the necessary adapter gem to the Gemfile.

      Que pouvez-vous me donner comme piste de solution ?

      Merci et encore une fois, felicitations et bon courae pour le travail extraordinaire que vous partager a tout le monde

      -
      Edité par patiecco 8 juin 2016 à 19:31:43

      • Partager sur Facebook
      • Partager sur Twitter
        8 juin 2016 à 20:41:34

        bonjour , 

         D'abord Un très grand merci à Monsieur Julien Grillot Et a toute l'équipe d'openclassroom ;) 

         Patiecco,

         j'aimerais bien savoir ce que retourne: gem list

        ce qu'il y a aussi dans le Gemfile et surtout dans config/database.yml o_O

        -
        Edité par Zack22 8 juin 2016 à 20:46:14

        • Partager sur Facebook
        • Partager sur Twitter
          10 juin 2016 à 17:24:00

          @patiecco : il est encore aujourd'hui difficile d'utiliser Ruby on Rails sur Windows. À titre personnel je ne suis pas en mesure de fournir de l'aide pour ce système d'exploitation. Au besoin, pas mal d'apprenants sous Windows se sont manifestés sur le sujet du cours d'initiation, peut-être que l'un d'eux pourra aider ?

          Bon courage !

          • Partager sur Facebook
          • Partager sur Twitter
            15 juin 2016 à 16:53:43

            Merci @Zack22 et @Julien,

            Je viens de me trouver un mac (un peu ancien quand même) car beaucoup de personnes m'ont effectivement dit qu'il etait difficile d'utiliser Ruby sur Windows.

            Je suis entrain de faire des MAJ sur macOS, et des que j'aurais fini, je passerais a l'installation de Ruby et Rails, je vous reviendrais si je rencontre des soucis.

            Encore une fois, merci a toute la communauté pour le travail immense que vous faites

            • Partager sur Facebook
            • Partager sur Twitter
              23 juin 2016 à 17:23:18

              Bonjour! 

              Un grand merci pour ton cours qui m'a beaucoup aidée. Cependant pour un projet personnel, je rencontre un problème en RoR j'espère trouver de l'aider ici. 

              j'ai deux tables. J'aimerais que lorsque l'on clique sur lien cela me renvoie sur une autre page les données qui sont liées à cette table. Exemple

              j'ai une table couleur et une table vin. dans la table vin j'ai la foreign key couleur. 

              et j'aimerais que lorsque l'on clique sur le nom de la région cela m'ouvre une nouvelle page qui me renvoie toute la liste des vins associés à cette couleur. Pratique excessivement courante en programmation. Mais je bloque dessus depuis deux jours. J'ai bien mis mon has_many et mon belongs_to 

              dans mon url lorsque je clique sur le nom de la couleur j'ai bien une autre page qui s'ouvre reprenant la couleur cliquée. Mais impossible de faire apparaitre ma liste de vins liées à cette couleur. Si quelqu'un pouvait m'aider ce serait vraiment super. Je sais que cela reste quelque chose de relativement simple. mais je ne parviens pas à trouver la solution même en me référant à l'exercice sur les livres et la catégorie de livres 

              • Partager sur Facebook
              • Partager sur Twitter
                23 juin 2016 à 21:13:01

                Disons que la page qui liste les vins est /wines et que la page qui liste les vins selon leur couleur est /wines?color=id-de-la-couleur.

                Dans la fonction index du WinesController, tu peux avoir quelque chose qui ressemble à ceci :

                def index
                  if params[:color]
                    @color = Color.find(params[:color])
                    @wines = @color.wines
                  else
                    @wines = Wine.all
                  end
                end

                Tu pourras aussi exploiter la variable @color dans la vue wines/index.html.erb.

                -
                Edité par Julien Grillot 23 juin 2016 à 21:14:16

                • Partager sur Facebook
                • Partager sur Twitter
                  24 juin 2016 à 11:10:16

                  Merci de ta réponse :-) 

                  ce sera finalement via cette requête que j'y serai parvenue :-) 

                  def show

                   @une_region = WineLocation.find(params[:id])

                   @les_vins = Wine.where("wine_location_id =?", params[:id])

                    end

                  • Partager sur Facebook
                  • Partager sur Twitter
                    5 juillet 2016 à 13:35:44

                    bonjour, sqlite3 ne fonctionnant pas, j'utilise mysql.

                    La commande suivante ne fonctionne pas

                    rails generate migration TableUsers

                    Impossible de poursuive le cours :(

                    • Partager sur Facebook
                    • Partager sur Twitter

                    tutosfaciles48

                      11 août 2016 à 10:00:12

                      Salut! Je suis ton deuxième cours Ruby on rails! Il est bien mais pas très clair. Ce serait vraiment bien si tu pouvais reprendre les cours vidéos. Cordialement.

                      -
                      Edité par Ronanlouarn 12 août 2016 à 12:00:33

                      • Partager sur Facebook
                      • Partager sur Twitter
                      LOUARN Ronan
                        15 septembre 2016 à 13:04:28

                        Pensez à mettre les erreurs rencontrées pour que l'on puisse vous aider =)

                        Ronanlouarn : merci pour ton retour ! Malheureusement il n'y a pas de screencasts prévus pour cette deuxième partie.

                        -
                        Edité par Julien Grillot 15 septembre 2016 à 13:04:45

                        • Partager sur Facebook
                        • Partager sur Twitter
                          9 novembre 2016 à 21:41:27

                          Bonjour à tous,

                          Julien tu as écrit dans le chapitre Let's get started, ceci "Il faut redémarrer votre serveur à chaque fois que vous modifiez un fichier de configuration ou que vous créez un nouveau fichier de local"

                          Personnellement dans mon environnement de Dev sous Windows je n'ai pas besoin de relancer le serveur à chaque fois que je modifie le fichier config/locales/fr.yml,

                            Peux tu confirmer qu'il est nécessaire de le relancer dans ton environnement ?

                          Ce qui a une influence sur une des questions du Quiz

                          • Partager sur Facebook
                          • Partager sur Twitter
                            3 janvier 2017 à 11:41:57

                            Ma phrase est effectivement ambiguë : 

                            • pour les locales, seule la création d'un fichier nécessite une redémarrage
                            • pour les autres fichiers de configuration, il faut redémarrer quoi qu'il en soit.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              6 février 2017 à 17:43:41

                              Bonjour Julien,

                              En effet, sortant de ton premier cours, celui-ci est moins clair mais on est censés être plus autonomes donc il est quand même super intéressant. 

                              L'activité partie 2, pour mettre en place un site de petites annonces, est sacrément ardue pour moi... J'ai toujours du mal avec la notion de commentaires sous une annonce : on reste bien sur un contrôleur lié aux annonces, mais qui permet de rapatrier ou lier les commentaires liés à chaque annonce ? 

                              As-tu un exemple clean de ce genre de montage sur github ? Ca rejoint la question des vins et couleurs de vins ci-dessus. 

                              Merci, je ne perds pas la motivation pour finir ce cours :-)

                              -
                              Edité par JulienPaulais1 6 février 2017 à 17:44:13

                              • Partager sur Facebook
                              • Partager sur Twitter
                                8 février 2017 à 11:54:30

                                @JulienPaulais1 : je n'ai pas d'exemple sur Github. Il y aura deux contrôleurs : un pour les annonces et un pour les commentaires. Dans le show d'une annonce, tu pourras boucler sur @annonce.commentaires sans avoir à faire quoi que ce soit de particulier côté contrôler. Avant d'attaquer le formulaire de création de commentaire, crée-en quelques uns via la console pour voir si déjà tout s'affiche bien.

                                Bon courage :) !

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  19 février 2017 à 21:39:27

                                  Julien Grillot a écrit:

                                  @JulienPaulais1 : je n'ai pas d'exemple sur Github. Il y aura deux contrôleurs : un pour les annonces et un pour les commentaires. Dans le show d'une annonce, tu pourras boucler sur @annonce.commentaires sans avoir à faire quoi que ce soit de particulier côté contrôler. Avant d'attaquer le formulaire de création de commentaire, crée-en quelques uns via la console pour voir si déjà tout s'affiche bien.

                                  Bon courage :) !

                                  Merci Julien pour ton retour ! Pour bien faire l'exercice j'ai pris le parti de continuer à me former (railstutorial de Michael Hartl) et je suis en train de le finir en parallèle. 



                                  -
                                  Edité par JulienPaulais1 19 février 2017 à 21:40:41

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    23 février 2017 à 15:33:36

                                    Finalement je n'ai pas réussi à ajouter de nouveaux commentaires via l'application, même si ça marche via la console. Concernant les modèles, je me retrouve avec 2 has_many pour user.rb : advertisements et comments. 

                                    Est-ce correct ? 

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      3 mars 2017 à 16:36:07

                                      @JulienPaulais1 : oui ces deux has_many sont corrects.
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        3 mai 2017 à 20:58:11

                                        Bonjour quand je télécharge l'archive pour reprendre le travail effectué en faisant un bundle install rien ne marche?

                                        J'ai une erreur avec json.

                                        Avez vous une solution?

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          7 mai 2017 à 18:23:00

                                          Bonsoir !

                                          vous souvenez-vous de la partie sur le scaffolding, où on génère des modèles, des vues et des contrôleurs pour gérer des auteurs et des livres ?

                                          Est-ce que vous avez essayé l'interface créée par Rails, et notamment d'ajouter des livres ? On se rend rapidement compte qu'il y a un problème : pour ajouter un livre il faut renseigner l'identifiant de son auteur. Ce qui n'est absolument pas pratique.

                                          Ma question est donc : comment faire pour que Rails accepte les noms d'auteurs dans ce champ en lieu et place de leur identifiant ? D'avance merci.

                                          N.B. : si la réponse se trouve dans le cours, merci de me mettre sur la voie :)

                                          ÉDIT : j'ai trouvé comment faire avec un <select>...

                                          -
                                          Edité par rom1725 16 mai 2017 à 16:35:11

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            16 mai 2017 à 0:31:42

                                            Bonsoir à tous. J'aimerais savoir quels hébergeurs prennent en charge la base de donnée sqlite. 

                                            Merci bien. 

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              17 mai 2017 à 9:00:32

                                              @selimcheeks : quelle est l'erreur ?

                                              @Assyabbé : n'importe quel hébergement dédié fera l'affaire. Cela étant, il est aussi possible d'utilise PostgreSQL ou MySQL avec Ruby on Rails. Les VPS d'OVH à quelques euros par mois sont très bien par exemple : https://www.ovh.com/fr/vps/vps-ssd.xml.

                                              Cela demande toutefois quelques connaissances en administration système : savoir configurer les zones DNS d'un nom de domaine ainsi que savoir configurer un serveur HTTP et reverse proxy avec Nginx ou Apache. Si vous n'avez jusque là utilisé que des hébergements mutualisés, la courbe d'apprentissage sera rude, mais cela en vaut la peine. Bon courage ! S'il y a de la demande je publierai un cours à ce sujet.

                                              -
                                              Edité par Julien Grillot 17 mai 2017 à 9:14:36

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                17 mai 2017 à 11:21:36

                                                Merci bien Monsieur Julien.
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  17 mai 2017 à 23:03:03

                                                  Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
                                                      current directory: /Users/selimchiki/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/json-1.8.3/ext/json/ext/generator
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/bin/ruby -r ./siteconf20170517-29487-1dxn6pp.rb extconf.rb
                                                  creating Makefile
                                                  current directory: /Users/selimchiki/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/json-1.8.3/ext/json/ext/generator
                                                  make "DESTDIR=" clean
                                                  current directory: /Users/selimchiki/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/json-1.8.3/ext/json/ext/generator
                                                  make "DESTDIR="
                                                  compiling generator.c
                                                  generator.c:861:25: error: use of undeclared identifier 'rb_cFixnum'
                                                      } else if (klass == rb_cFixnum) {
                                                                          ^
                                                  generator.c:863:25: error: use of undeclared identifier 'rb_cBignum'
                                                      } else if (klass == rb_cBignum) {
                                                                          ^
                                                  generator.c:975:5: warning: division by zero is undefined [-Wdivision-by-zero]
                                                      rb_scan_args(argc, argv, "01", &opts);
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2143:9: note: expanded from macro 'rb_scan_args'
                                                          rb_scan_args0(argc,argvp,fmt,\
                                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2329:8: note: expanded from macro 'rb_scan_args0'
                                                                       rb_scan_args_verify(fmt, varc), vars)
                                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2201:11: note: expanded from macro 'rb_scan_args_verify'
                                                          verify = rb_scan_args_verify_count(fmt, varc); \
                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2167:6: note: expanded from macro 'rb_scan_args_count_hash'
                                                       rb_scan_args_count_block(fmt, ofs, varc, vari) : \
                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2162:6: note: expanded from macro 'rb_scan_args_count_block'
                                                       rb_scan_args_count_end(fmt, ofs, varc, vari) : \
                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2158:12: note: expanded from macro 'rb_scan_args_count_end'
                                                      ((vari)/(!fmt[ofs] || rb_scan_args_bad_format(fmt)))
                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  generator.c:975:5: warning: division by zero is undefined [-Wdivision-by-zero]
                                                      rb_scan_args(argc, argv, "01", &opts);
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2143:9: note: expanded from macro 'rb_scan_args'
                                                          rb_scan_args0(argc,argvp,fmt,\
                                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2329:8: note: expanded from macro 'rb_scan_args0'
                                                                       rb_scan_args_verify(fmt, varc), vars)
                                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2201:11: note: expanded from macro 'rb_scan_args_verify'
                                                          verify = rb_scan_args_verify_count(fmt, varc); \
                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2167:6: note: expanded from macro 'rb_scan_args_count_hash'
                                                       rb_scan_args_count_block(fmt, ofs, varc, vari) : \
                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2163:6: note: expanded from macro 'rb_scan_args_count_block'
                                                       rb_scan_args_count_end(fmt, ofs+1, varc, vari+1))
                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2158:12: note: expanded from macro 'rb_scan_args_count_end'
                                                      ((vari)/(!fmt[ofs] || rb_scan_args_bad_format(fmt)))
                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  generator.c:975:5: warning: division by zero is undefined [-Wdivision-by-zero]
                                                      rb_scan_args(argc, argv, "01", &opts);
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2143:9: note: expanded from macro 'rb_scan_args'
                                                          rb_scan_args0(argc,argvp,fmt,\
                                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2329:8: note: expanded from macro 'rb_scan_args0'
                                                                       rb_scan_args_verify(fmt, varc), vars)
                                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2201:11: note: expanded from macro 'rb_scan_args_verify'
                                                          verify = rb_scan_args_verify_count(fmt, varc); \
                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2168:6: note: expanded from macro 'rb_scan_args_count_hash'
                                                       rb_scan_args_count_block(fmt, ofs+1, varc, vari+1))
                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2162:6: note: expanded from macro 'rb_scan_args_count_block'
                                                       rb_scan_args_count_end(fmt, ofs, varc, vari) : \
                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2158:12: note: expanded from macro 'rb_scan_args_count_end'
                                                      ((vari)/(!fmt[ofs] || rb_scan_args_bad_format(fmt)))
                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  generator.c:975:5: warning: division by zero is undefined [-Wdivision-by-zero]
                                                      rb_scan_args(argc, argv, "01", &opts);
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2143:9: note: expanded from macro 'rb_scan_args'
                                                          rb_scan_args0(argc,argvp,fmt,\
                                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2329:8: note: expanded from macro 'rb_scan_args0'
                                                                       rb_scan_args_verify(fmt, varc), vars)
                                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2201:11: note: expanded from macro 'rb_scan_args_verify'
                                                          verify = rb_scan_args_verify_count(fmt, varc); \
                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2167:6: note: expanded from macro 'rb_scan_args_count_hash'
                                                       rb_scan_args_count_block(fmt, ofs, varc, vari) : \
                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2162:6: note: expanded from macro 'rb_scan_args_count_block'
                                                       rb_scan_args_count_end(fmt, ofs, varc, vari) : \
                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2158:12: note: expanded from macro 'rb_scan_args_count_end'
                                                      ((vari)/(!fmt[ofs] || rb_scan_args_bad_format(fmt)))
                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  generator.c:975:5: warning: division by zero is undefined [-Wdivision-by-zero]
                                                      rb_scan_args(argc, argv, "01", &opts);
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2143:9: note: expanded from macro 'rb_scan_args'
                                                          rb_scan_args0(argc,argvp,fmt,\
                                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2329:8: note: expanded from macro 'rb_scan_args0'
                                                                       rb_scan_args_verify(fmt, varc), vars)
                                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2201:11: note: expanded from macro 'rb_scan_args_verify'
                                                          verify = rb_scan_args_verify_count(fmt, varc); \
                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2167:6: note: expanded from macro 'rb_scan_args_count_hash'
                                                       rb_scan_args_count_block(fmt, ofs, varc, vari) : \
                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2162:6: note: expanded from macro 'rb_scan_args_count_block'
                                                       rb_scan_args_count_end(fmt, ofs, varc, vari) : \
                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2158:12: note: expanded from macro 'rb_scan_args_count_end'
                                                      ((vari)/(!fmt[ofs] || rb_scan_args_bad_format(fmt)))
                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  generator.c:975:5: warning: division by zero is undefined [-Wdivision-by-zero]
                                                      rb_scan_args(argc, argv, "01", &opts);
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2143:9: note: expanded from macro 'rb_scan_args'
                                                          rb_scan_args0(argc,argvp,fmt,\
                                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2329:8: note: expanded from macro 'rb_scan_args0'
                                                                       rb_scan_args_verify(fmt, varc), vars)
                                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2201:11: note: expanded from macro 'rb_scan_args_verify'
                                                          verify = rb_scan_args_verify_count(fmt, varc); \
                                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  note: (skipping 5 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2167:6: note: expanded from macro 'rb_scan_args_count_hash'
                                                       rb_scan_args_count_block(fmt, ofs, varc, vari) : \
                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2162:6: note: expanded from macro 'rb_scan_args_count_block'
                                                       rb_scan_args_count_end(fmt, ofs, varc, vari) : \
                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  /Users/selimchiki/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2158:12: note: expanded from macro 'rb_scan_args_count_end'
                                                      ((vari)/(!fmt[ofs] || rb_scan_args_bad_format(fmt)))
                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                  6 warnings and 2 errors generated.
                                                  make: *** [generator.o] Error 1
                                                  make failed, exit code 2
                                                  Gem files will remain installed in /Users/selimchiki/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/json-1.8.3 for inspection.
                                                  Results logged to /Users/selimchiki/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/extensions/x86_64-darwin-16/2.4.0-static/json-1.8.3/gem_make.out
                                                  An error occurred while installing json (1.8.3), and Bundler cannot continue.
                                                  Make sure that `gem install json -v '1.8.3'` succeeds before bundling.
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    23 février 2018 à 20:17:48

                                                    BOnsoir,

                                                    IL me semble que la method asset-path ne fonctionne plus.

                                                    body {

                                                      background-image: url(asset-path("votre_image.png"));

                                                    }

                                                    Jutilise rails 5.1.5 et je ne vois pas afficher mon image de bacjground-image avec la method asset-path.

                                                    Jai faire quelque recherche sur l'API doc de rails et aset-path ne se trouve pas dans la doc, j'ai trouvé asset_path et malgré ca, ca naffiche pas mon image.

                                                    Francel

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                    Francel
                                                      23 février 2018 à 20:59:25

                                                      Bonjour,

                                                      Comme indiqué dans la documentation de rails, tu peux utiliser asset_path, tu as juste oublié les <%= %>:

                                                      http://guides.rubyonrails.org/asset_pipeline.html

                                                      .class { background-image: url(<%= asset_path 'image.png' %>) }

                                                      -
                                                      Edité par eclairia 23 février 2018 à 21:00:04

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                      "Ils ne savaient pas que c'était impossible, alors ils l'ont fait" Mark Twain
                                                        24 février 2018 à 13:01:59

                                                        BOnjour Eclaira,

                                                        Merci pour ta reponse rapide.

                                                        JE vais essayer, mais mon fichier a l'extention scss (app/assets/stylesheets/welcome.scss).

                                                        Merci encore.

                                                        Francel

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                        Francel
                                                          4 mars 2018 à 19:10:56

                                                          BOnsoir a tous,

                                                          Je suis en train de créer un site de petite annonce immobilier et je ne sais plus comment faire pour afficher limage associé a un bien dans chaque bien immobilier affiché dans la page index.

                                                          J'ai un model Property qui stocke les infos de base du bien immobilier. Comme un bien immobilier peut avoir plusieur image, j'ai donc créer une autre table property_photos, donc model PropertyPhoto avec un attribue names de type json pour stocker tout les photos d'un bien immobilier. DOnc il y as une assocication entre les models: Un Property has_many :property_photos et un PropertyPhoto belongs_to :property. J'arrive donc a afficher les photos sur la page show main pas sur la page index. J'utilise carrierwave pour l'upload de photo.

                                                          Merci

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                          Francel
                                                            4 mars 2018 à 20:11:04

                                                            Bonjour,

                                                            Peux tu nous montrer ton controller et ta vue stp?

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                            "Ils ne savaient pas que c'était impossible, alors ils l'ont fait" Mark Twain
                                                              4 mars 2018 à 20:19:49

                                                              Voici le code du controller Properties.

                                                              class PropertiesController < ApplicationController
                                                                before_action :set_property, only: [:show, :edit, :update, :destroy]
                                                                before_action :authenticate_user!, only: [:new]
                                                              
                                                                # GET /properties
                                                                # GET /properties.json
                                                                def index
                                                                  @properties = Property.all.order("created_at DESC")
                                                                end
                                                              
                                                                # GET /properties/1
                                                                # GET /properties/1.json
                                                                def show
                                                                  @property_photos = @property.property_photos.all
                                                                end
                                                              
                                                                # GET /properties/new
                                                                def new
                                                                  @current_user = User.find(current_user.id)
                                                                  @property = @current_user.properties.build
                                                                  @property_photo = @property.property_photos.build
                                                                end
                                                              
                                                                # GET /properties/1/edit
                                                                def edit
                                                                end
                                                              
                                                                # POST /properties
                                                                # POST /properties.json
                                                                def create
                                                                  @property = current_user.properties.build(property_params)
                                                              
                                                                  respond_to do |format|
                                                              	  if @property.save
                                                              		if params[:property_photos]
                                                              			params[:property_photos]['names'].each do |photo|
                                                              				@property_photo = @property.property_photos.create!(names: photo, property_id: @property.id)
                                                              			end
                                                              		end
                                                              
                                                                      format.html { redirect_to @property, notice: 'Property was successfully created.' }
                                                                      format.json { render :show, status: :created, location: @property }
                                                                    else
                                                                      format.html { render :new }
                                                                      format.json { render json: @property.errors, status: :unprocessable_entity }
                                                                    end
                                                                  end
                                                                end
                                                              
                                                                # PATCH/PUT /properties/1
                                                                # PATCH/PUT /properties/1.json
                                                                def update
                                                                  respond_to do |format|
                                                                    if @property.update(property_params)
                                                                      format.html { redirect_to @property, notice: 'Property was successfully updated.' }
                                                                      format.json { render :show, status: :ok, location: @property }
                                                                    else
                                                                      format.html { render :edit }
                                                                      format.json { render json: @property.errors, status: :unprocessable_entity }
                                                                    end
                                                                  end
                                                                end
                                                              
                                                                # DELETE /properties/1
                                                                # DELETE /properties/1.json
                                                                def destroy
                                                                  @property.destroy
                                                                  respond_to do |format|
                                                                    format.html { redirect_to properties_url, notice: 'Property was successfully destroyed.' }
                                                                    format.json { head :no_content }
                                                                  end
                                                                end
                                                              
                                                                private
                                                                  # Use callbacks to share common setup or constraints between actions.
                                                                  def set_property
                                                                    @property = Property.find(params[:id])
                                                                  end
                                                              
                                                                  # Never trust parameters from the scary internet, only allow the white list through.
                                                                  def property_params
                                                                    params.require(:property).permit(:property_type_id, :ad_type_id, :title, :price, :area, :room_id, :description, :address, :city, user_attributes: [:phone_number], property_photos_attributes: [])
                                                                  end
                                                              end
                                                              

                                                              Voici le code de la vue de creation d'un bien.

                                                              <%= simple_form_for(@property) do |f| %>
                                                                  <%= f.error_notification %>
                                                              
                                                                      <p class="h3 mt-4">Information sur le bien</p>
                                                                      <hr class="mb-5">
                                                                      <div class="form-inputs form-row">
                                                                          <div class="col-12">
                                                                              <%= f.input :title, autofocus: true, required: true, label: "Titre de l'annonce" %>
                                                                          </div>
                                                                          <div class="col-lg-6">
                                                                              <%= f.association :ad_type, required: true, label: "Type d'annonce" %>
                                                                          </div>
                                                                          <div class="col-lg-6">
                                                                              <%= f.association :property_type, required: true, label: "Type de bien" %>
                                                                          </div>
                                                                          <div class="col-lg-6">
                                                                              <%= f.input :price, required: true, label: "Prix", as: :decimal %>
                                                                          </div>
                                                                          <div class="col-lg-6">
                                                                              <%= f.input :area, required: true, label: "Surface" %>
                                                                          </div>
                                                                          <div class="col-12">
                                                                              <%= f.input :description, required: true, label: "Description", input_html: { rows: 10 } %>
                                                                          </div>
                                                                          <div class="col-6">
                                                                              <%= f.input :city, required: true, label: "Ville" %>
                                                                          </div>
                                                                          <div class="col-6">
                                                                              <%= f.input :address, required: true, label: "Adresse" %>
                                                                          </div>
                                                                      </div>
                                                              
                                                                      <p class="h3 mt-4">Photos</p>
                                                                      <p><small>Ajoutez les photos pour rendre votre annonce encore plus visible</small></p>
                                                                      <hr class="mb-5">
                                                                      <div class="form-inputs form-row">
                                                                          <div class="col-12">
                                                                              <%= f.fields_for :property_photos do |photo| %>
                                                                                <div class="form-group">
                                                                                	<%= label(:names, :title, "Photo 1") %>
                                                                                  <%= photo.file_field :names, class: "form-control-file", name: "property_photos[names][]", multiple: true  %>
                                                                                </div>
                                                              
                                                                                <div class="form-group">
                                                                                  <%= label(:names, :title, "Photo 2") %>
                                                                                  <%= photo.file_field :names, class: "form-control-file", name: "property_photos[names][]", multiple: true  %>
                                                                                </div>
                                                              
                                                                                <div class="form-group">
                                                                                  <%= label(:names, :title, "Photo 3") %>
                                                                                  <%= photo.file_field :names, class: "form-control-file", name: "property_photos[names][]", multiple: true  %>
                                                                                </div>                
                                                                              <% end %>
                                                              
                                                                          </div>
                                                                      </div>
                                                              
                                                                      <% if current_user.phone_number.blank? %>
                                                                          <p class="h3 mt-5">Information de contact</p>
                                                                          <hr class="mb-5">
                                                                          <%= f.simple_fields_for @current_user do |user_form| %>
                                                                              <div class="form-inputs form-row">
                                                                                  <div class="col-lg-4">
                                                                                      <%= user_form.input :first_name, placeholder: "#{current_user.first_name}", label: "Prénom", input_html: { disabled: true } %>
                                                                                  </div>
                                                                                  <div class="col-lg-4">
                                                                                      <%= user_form.input :last_name, placeholder: "#{current_user.last_name}", label: "Nom", input_html: { disabled: true } %>
                                                                                  </div>
                                                                                  <div class="col-lg-4">
                                                                                      <%= user_form.input :phone_number, required: true, label: "Numéros de contact", placeholder: "Votre numéro de tél" %>
                                                                                  </div>
                                                                              </div>
                                                                              <% end %>
                                                                                  <% else %>
                                                                                      <p class=" h3 mt-5">Information de contact</p>
                                                                                      <hr class="mb-5">
                                                              
                                                                                      <%= f.simple_fields_for @property.build_user do |user_form| %>
                                                                                          <fieldset disabled>
                                                                                              <div class="form-inputs form-row">
                                                                                                  <div class="col-lg-4">
                                                                                                      <%= user_form.input :first_name, placeholder: "#{current_user.first_name}", label: "Prénom" %>
                                                                                                  </div>
                                                                                                  <div class="col-lg-4">
                                                                                                      <%= user_form.input :last_name, placeholder: "#{current_user.last_name}", label: "Nom" %>
                                                                                                  </div>
                                                                                                  <div class="col-lg-4">
                                                                                                      <%= user_form.input :phone_number, as: :tel, placeholder: "#{current_user.phone_number}", label: "Numéro de téléphone" %>
                                                                                                  </div>
                                                                                              </div>
                                                                                          </fieldset>
                                                                                          <% end %>
                                                                                              <% end %>
                                                              
                                                                                                  <div class="form-actions form-row mt-4">
                                                                                                      <div class="col-12">
                                                                                                          <%= f.button :submit, "Valider", class: "btn btn-primary btn-lg btn-block" %>
                                                                                                      </div>
                                                                                                  </div>
                                                              
                                                                                                  <% end %>

                                                              VOici le code du model Property

                                                              class Property < ApplicationRecord
                                                                belongs_to :property_type
                                                                belongs_to :ad_type
                                                                belongs_to :user
                                                                has_many :property_photos, dependent: :destroy
                                                              
                                                                validates :title, presence: true
                                                                validates :price, presence: true
                                                                validates :area, presence: true
                                                                validates :ad_type_id, presence: true
                                                                validates :property_type_id, presence: true
                                                                validates :description, presence: true
                                                              
                                                                accepts_nested_attributes_for :user, allow_destroy: true
                                                                accepts_nested_attributes_for :property_photos, allow_destroy: true
                                                              end
                                                              

                                                              VOici le code du model PropertyPhoto

                                                              class PropertyPhoto < ApplicationRecord    
                                                                  belongs_to :property
                                                              
                                                                  mount_uploader :names, PropertyPhotoUploader
                                                              end
                                                              

                                                              ET voici le code de la page index ou sera repété chaque card qui sera la site des biens

                                                              <section class="container-fluid">
                                                                  <div class="container">
                                                                      <div class="row py-5">
                                                                          <div class="col-12">
                                                                              <p><%= @properties.size %> résultats trouvés</p>
                                                                          </div>
                                                              
                                                                          <% @properties.each do |property| %>
                                                              
                                                                            <div class="col-lg-4">
                                                                              <a href="<%= property %>" title="">
                                                                                <div class="card position-relative mb-5">
                                                                                <img class="card-img-top h-25" src="" alt="Card image cap">
                                                                                  
                                                              
                                                                                  
                                                                                <div class="card-body">
                                                                                  <h5 class="card-title"><%= property.title %></h5>
                                                                                  <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
                                                                                  <a href="<%= property %>" class="btn btn-primary text-right">Détail</a>
                                                                                </div>
                                                                              </div>
                                                                              </a>
                                                                            </div>
                                                              
                                                                          <% end %>
                                                              
                                                                      </div>
                                                                  </div>
                                                              </section>

                                                              DOnc je suis bloqué pour l'affichage d'une photo sur chaque biens dans la page index.





                                                              • Partager sur Facebook
                                                              • Partager sur Twitter
                                                              Francel

                                                              MOOC Continuez avec Ruby on Rails

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                              • Editeur
                                                              • Markdown