Tutoriel Rails 4e édition: Chapitre 1 De zéro au déploiement
--Entraine toi ―― 1. Quel site Web utilise la gemme Ruby pour Ruby on Rails?
―― 2. Quelle est la dernière version de Rails en ce moment?
- v6.0.3.4? https://guides.rubyonrails.org/
―― 3. Combien de fois Ruby on Rails a-t-il été téléchargé jusqu'à présent? Vérifie s'il te plaît.
--247,586,141 Peut-être que vous pouvez le voir ici. J'ai pu confirmer la dernière version. https://rubygems.org/gems/rails?locale=ja
réduction
Le tutoriel Rails disait:
Terminal
$ cd #Accédez à votre répertoire personnel
$ mkdir environment # 'environment'Créer un annuaire
$ cd environment/ # 'environment'Aller au répertoire
$ cd ~/environment
$ rails _5.1.6_ new hello_app
Comme le répertoire appelé environnement était déjà créé, je l'ai créé avec un autre nom et je n'ai pas spécifié la version lorsque rails new
.
Le tutoriel Rails semblait utiliser quelque chose dans le cloud, mais je vais coder avec VS Code. Je pourrais passer à RubyMine en chemin. Lancez VS Code, ouvrez le fichier et ouvrez hello_app.
Si vous ouvrez le terminal VS Code (TERMINAL), vous devriez être dans le répertoire racine de votre application.
1.3.1 Bundler
Terminal
-> % bundle install
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
Using rake 13.0.1
Using concurrent-ruby 1.1.7
Using i18n 1.8.5
・
・
・
Using webpacker 4.3.0
Bundle complete! 17 Gemfile dependencies, 74 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
1.3.2 rails server
Terminal
-> % rails s
=> Booting Puma
=> Rails 6.0.3.4 application starting in development
=> Run `rails server --help` for more startup options
Puma starting in single mode...
* Version 4.3.6 (ruby 2.7.1-p83), codename: Mysterious Traveller
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://127.0.0.1:3000
* Listening on tcp://[::1]:3000
Use Ctrl-C to stop
Si vous ouvrez http: // localhost: 3000 /, cela ressemblera à la figure ci-dessous.
--Entraine toi ―― 1. Quelle version de Ruby avez-vous sur votre ordinateur maintenant par rapport à ce que vous voyez sur la page Rails par défaut? Vous pouvez facilement la voir en exécutant ruby -v sur la ligne de commande. Je vais. - 2.7.1
―― 2. De la même manière, vérifions la version de Rails. La version que vous avez recherchée correspond-elle à la version que vous avez installée dans l'extrait 1.1?
- 6.0.3.4
1.3.3 Model-View-Controller (MVC)
1.3.4 Hello, world!
app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
def hello
render html: "hello, world!"
end
end
config/routes.rb
Rails.application.routes.draw do
root 'application#hello'
end
--Entraine toi
―― 1. Réécrivons l'action bonjour pour que "hola, mundo!" S'affiche à la place de "bonjour, monde!".
--2 Rails prend également en charge les "caractères non ASCII". "¡Hola, mundo!" Contient le point d'exclamation à l'envers "¡" propre à l'espagnol (Fig. 1.17) 19. Pour afficher le caractère «¡» sur votre Mac, maintenez la touche Option enfoncée et appuyez sur la touche 1. Il peut être plus rapide de copier ce caractère et de le coller dans votre éditeur.
app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
def hello
render html: "hola, mundo!"
end
def goodbye
render html: "goodbye, world!"
end
end
config/routes.rb
Rails.application.routes.draw do
root 'application#goodbye'
end
réduction
réduction
1.4.3 Bitbucket Cette fois, j'ai utilisé Github.
Terminal
-> % git init
Reinitialized existing Git repository in /Users/fukadashigeru/environment_2/hello_app/.git/
-> % git add -A
-> % git commit -m "Initialize repository"
[master (root-commit) 02fb3dd] Initialize repository
92 files changed, 9246 insertions(+)
create mode 100644 .browserslistrc
create mode 100644 .gitignore
create mode 100644 .ruby-version
・
・
・
create mode 100644 yarn.lock
-> % git remote add origin https://github.com/**********/hello_app.git
-> % git push origin master
Enumerating objects: 107, done.
Counting objects: 100% (107/107), done.
Delta compression using up to 4 threads
Compressing objects: 100% (89/89), done.
Writing objects: 100% (107/107), 149.16 KiB | 3.47 MiB/s, done.
Total 107 (delta 4), reused 0 (delta 0)
remote: Resolving deltas: 100% (4/4), done.
To https://github.com/**********/hello_app.git
* [new branch] master -> master
Terminal
[~/environment_2/hello_app] [master]
-> % git checkout -b modify-README
Switched to a new branch 'modify-README'
*********************************************
README.Modifier le fichier md
*********************************************
[~/environment_2/hello_app] [modify-README]
-> % git commit -a -m "Improve the README file"
[modify-README ba451c3] Improve the README file
1 file changed, 4 insertions(+), 22 deletions(-)
[~/environment_2/hello_app] [modify-README]
-> % git checkout master
Switched to branch 'master'
[~/environment_2/hello_app] [master]
-> % git merge modify-README
Updating 02fb3dd..ba451c3
Fast-forward
README.md | 26 ++++----------------------
1 file changed, 4 insertions(+), 22 deletions(-)
[~/environment_2/hello_app] [master]
-> % git branch -d modify-README
Deleted branch modify-README (was ba451c3).
[~/environment_2/hello_app] [master]
-> % git push origin master
Gemfile
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
ruby '2.7.1'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 6.0.3', '>= 6.0.3.4'
# Use Puma as the app server
gem 'puma', '~> 4.1'
# Use SCSS for stylesheets
gem 'sass-rails', '>= 6'
# Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker
gem 'webpacker', '~> 4.0'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.7'
# Use Redis adapter to run Action Cable in production
# gem 'redis', '~> 4.0'
# Use Active Model has_secure_password
# gem 'bcrypt', '~> 3.1.7'
# Use Active Storage variant
# gem 'image_processing', '~> 1.2'
# Reduces boot times through caching; required in config/boot.rb
gem 'bootsnap', '>= 1.4.2', require: false
group :development, :test do
# development,test,Déplacez ce qui était dans tout le cadre de la production ici en développement et en test
# Use sqlite3 as the database for Active Record
gem 'sqlite3', '~> 1.4'
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end
group :development do
# Access an interactive console on exception pages or by calling 'console' anywhere in the code.
gem 'web-console', '>= 3.3.0'
gem 'listen', '~> 3.2'
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
end
#Ajouter pg à la production
group :production do
gem 'pg'
end
group :test do
# Adds support for Capybara system testing and selenium driver
gem 'capybara', '>= 2.15'
gem 'selenium-webdriver'
# Easy installation and use of web drivers to run system tests with browsers
gem 'webdrivers'
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
Terminal
-> % heroku login --interactive
› Warning: heroku update available from 7.35.1 to 7.46.0.
heroku: Enter your login credentials
Email [***********@gmail.com]:
Password: ***********
Logged in as ***********@gmail.com
-> % heroku keys:add
› Warning: heroku update available from 7.35.1 to 7.46.0.
Found an SSH public key at /Users/***********/.ssh/id_rsa.pub
? Would you like to upload it to Heroku? Yes
Uploading /Users/***********/.ssh/id_rsa.pub SSH key... done
-> % heroku create
› Warning: heroku update available from 7.35.1 to 7.46.0.
Creating app... done, ⬢ thawing-brook-84469
https://thawing-brook-84469.herokuapp.com/ | https://git.heroku.com/thawing-brook-84469.git
Terminal
-> % git push heroku master
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 4 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 332 bytes | 332.00 KiB/s, done.
・
・
・
remote: Verifying deploy... done.
To https://git.heroku.com/thawing-brook-84469.git
48ef406..7fc2c4e master -> master
https://thawing-brook-84469.herokuapp.com/
Ce n'est pas un bonjour le monde. Il y a peut-être eu une erreur de procédure quelque part. Et bien non.
--Entraine toi
réduction
Terminal
-> % bin/rails c
Running via Spring preloader in process 5709
Loading development environment (Rails 6.0.3.4)
irb(main):001:0> ('a'..'z').to_a.shuffle[0..7].join
=> "cntwqkdr"
irb(main):002:0> exit
-> % heroku rename cntwqkdr
Renaming ravudstc to cntwqkdr... done
https://cntwqkdr.herokuapp.com/ | https://git.heroku.com/cntwqkdr.git
Git remote heroku updated
▸ Don't forget to update git remotes for all other local checkouts of the app.
-> % heroku open
--Entraine toi ―― 1. Exécutez la commande d'aide heroku pour afficher la liste des commandes Heroku. Quelle commande est utilisée pour afficher le journal de l'application Heroku?
Terminal
-> % heroku help
CLI to interact with Heroku
VERSION
heroku/7.46.0 darwin-x64 node-v12.16.2
USAGE
$ heroku [COMMAND]
COMMANDS
access manage user access to apps
addons tools and services for developing, extending, and operating your app
apps manage apps on Heroku
auth check 2fa status
authorizations OAuth authorizations
autocomplete display autocomplete installation instructions
buildpacks scripts used to compile apps
certs a topic for the ssl plugin
ci run an application test suite on Heroku
clients OAuth clients on the platform
config environment variables of apps
container Use containers to build and deploy Heroku apps
domains custom domains for apps
drains forward logs to syslog or HTTPS
features add/remove app features
git manage local git repository for app
help display help for heroku
keys add/remove account ssh keys
labs add/remove experimental features
local run Heroku app locally
logs display recent log output
maintenance enable/disable access to app
members manage organization members
notifications display notifications
orgs manage organizations
pg manage postgresql databases
pipelines manage pipelines
plugins list installed plugins
ps Client tools for Heroku Exec
psql open a psql shell to the database
redis manage heroku redis instances
regions list available regions for deployment
releases display the releases for an app
reviewapps manage reviewapps in pipelines
run run a one-off process inside a Heroku dyno
sessions OAuth sessions
spaces manage heroku private spaces
status status of the Heroku platform
teams manage teams
update update the Heroku CLI
webhooks list webhooks on an app
--Entraine toi ―― 2. Vérifions le journal récent de l'application Heroku en utilisant la commande trouvée dans l'exercice ci-dessus. Quel a été l'événement le plus récent? (Se souvenir de la commande pour consulter ce journal vous aidera à trouver des bogues dans votre environnement de production)
Terminal
> % heroku logs
2020-10-19T13:29:19.529499+00:00 app[web.1]: => Run `rails server --help` for more startup options
2020-10-19T13:29:20.730825+00:00 app[web.1]: Puma starting in single mode...
2020-10-19T13:29:20.730870+00:00 app[web.1]: * Version 4.3.6 (ruby 2.7.1-p83), codename: Mysterious Traveller
2020-10-19T13:29:20.730871+00:00 app[web.1]: * Min threads: 5, max threads: 5
2020-10-19T13:29:20.730871+00:00 app[web.1]: * Environment: production
2020-10-19T13:29:20.731100+00:00 app[web.1]: * Listening on tcp://0.0.0.0:41511
2020-10-19T13:29:20.731446+00:00 app[web.1]: Use Ctrl-C to stop
2020-10-19T13:29:21.035771+00:00 heroku[web.1]: State changed from starting to up
・
・
・
réduction
Recommended Posts