Skip to content

Instantly share code, notes, and snippets.

@NicolasHov
Last active November 14, 2017 17:19
Show Gist options
  • Save NicolasHov/35ca020e76a3816d1b95cbea6b0bafe0 to your computer and use it in GitHub Desktop.
Save NicolasHov/35ca020e76a3816d1b95cbea6b0bafe0 to your computer and use it in GitHub Desktop.
Notes

Serveur rails

  • 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

deployer sur heroku (attention : voir comment choisir le nom "avant")

heroku create git push heroku master heroku run rails db:migrate heroku open (rails assets:precompile)

si ça foire, d'autres commandes

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

06 Models

  • 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

les validations

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

pwd

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

07 SIGNUP

tests intégrations

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

cookies flash

on a rajouté des cookies flash pour afficher succès (dans le controller create et on récup dans la vue application)

ssl pour protection

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

08 BASICLOGIN

note Linux commande lister les dossiers par taille du -h --max-depth=1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment