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.
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 : railsserver.
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
@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 ?
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
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
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.
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
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
@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.
@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
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.
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>...
@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.
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.
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.
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
× 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.
tutosfaciles48