- la commande
rails s -b 0.0.0.0
permet d'écouter tous les ports (notamment lorsqu'on utilise une VM)
pensez à se faire des alias (type rc pour rails console)
heroku create git push heroku master heroku run rails db:migrate heroku open (rails assets:precompile)
heroku run rails console git remote add heroku https://git.heroku.com/the-gossip-project-du-75.git heroku login git remote -v git remote remove heroku
-
checker 'dependent: :destroy'
-
ajouter un index : on fait 'rails g migration add_index_to_users_email' => on va le dossier migration et on ajoute : def change add_index :users, :email, unique: true (permet que email soit unique) on fait la migration
-
attention supprimer fixture users lorsque création
-
verif sur la casse des emails on met before_save { self.email = email.downcase }
rails console --sandbox => toutes les modifs sont rollback
méthodes User.find / user.find_by / user.first / user.all
on fait du TDD pour bien vérifier tout
dans la classe UserTest qui hérite de ActiveSupport::TestCase
require 'test_helper' def setup @user = User.new(name: "Example User", email: "user@example.com") end
test "should be valid" do assert @user.valid? end
test "name should be present" do @user.name = " " assert_not @user.valid? end
Pour ajouter un pwd, on utilise la méthode 'has_secure_password' à la fin de la classe User demande d'ajouter la gem gem 'bcrypt', '3.1.11' + faire bundle install
on ajoute donc password au setup de la classe Test et on va faire des validations dessus
rails g integration_test user_signup puis on fait un test d'invalidité : avec form vide et on voit si nombre de User augmente après (si ça a marché) et un test de validité avec les bonnes infos
on a rajouté des cookies flash pour afficher succès (dans le controller create et on récup dans la vue application)
dans config>env>prod on décommente config.force_ssl = true dans confing>puma on remplace par un outil de déploiement spécial pour heroku on ajoute procfile
-> pour deploiement sur heroku pensez à lui faire les migrations
note Linux commande lister les dossiers par taille du -h --max-depth=1