Rails チュートリアル 要点だけまとめようあとは演習について
1章でhelloアプリ
2章でtoyアプリ scaffoldを使う
3章からテスト駆動開発、統合テスト
演習:現時点でのRailsの最新バージョンはいくつですか?
v7.0.1
1.2.2 Railsをインストールする
printf "install: --no-document \nupdate: --no-document\n" >> ~/.gemrc gem install rails -v 5.1.6 cd mkdir environment cd environment/ rails _5.1.6_ new hello_app
(app/assetsディレクトリについて、アセットパイプラインによって、
CSSやJavaScriptファイルなどのアセット (資産)を簡単に編成したりデ
プロイすることができる。
app/ モデル、ビュー、コントローラ、ヘルパーなどを含む主要なアプリケーションコード app/assets アプリケーションで使うCSS (Cascading Style Sheet) 、JavaScriptファイル、画像などのアセット bin/ バイナリ実行可能ファイル config/ アプリケーションの設定 db/ データベース関連のファイル doc/ マニュアルなど、アプリケーションのドキュメント lib/ ライブラリモジュール lib/assets ライブラリで使うCSS (Cascading Style Sheet)、JavaScriptファイル、画像などのアセット log/ アプリケーションのログファイル public/ エラーペ-ジなど、一般(Webブラウザなど)に直接公開する データ bin/rails コード生成、コンソールの起動、ローカルのWebサーバ の立ち上げなどで使うRailsスクリプト test/ アプリケーションのテスト tmp/ 一時ファイル vendor/ サードパーティのプラグインやgemなど vendor/assets サードパーティのプラグインやgemで使うCSS、 JavaScriptファイル、画像などのアセット README.md アプリケーションの簡単な説明 Rakefile rakeコマンドで使えるタスク Gemfile このアプリケーションに必要なGemの定義ファイル Gemfile.lock アプリケーションで使われるgemのバージョンを 確認するためのリスト config.ru Rackミドルウェア用の設定ファイル .gitignore Gitに取り込みたくないファイルを指定するためのパターン
Gemfileを書き換える表を参照しよう!
Gemfile
source 'https://rubygems.org' gem 'rails', '5.1.6' gem 'puma', '3.9.1' gem 'sass-rails', '5.0.6' gem 'uglifier', '3.2.0' gem 'coffee-rails', '4.2.2' gem 'jquery-rails', '4.3.1' gem 'turbolinks', '5.0.1' gem 'jbuilder', '2.6.4' group :development, :test do gem 'sqlite3', '1.3.13' gem 'byebug', '9.0.6', platform: :mri end group :development do gem 'web-console', '3.5.1' gem 'listen', '3.1.5' gem 'spring', '2.0.2' gem 'spring-watcher-listen', '2.0.1' end
Gemのインストール
cd hello_app/ bundle install rails s
HelloWorld!を表示させる
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
演習
1:「hello, world!」の代わりに「hola, mundo!」と表示されるようにするのは
どうすればいいか説明せよ
app/controllers/application_controller.rbの
render html: “hello, world!”を
render html: “hola, mundo!”に変更する
2:「¡Hola, mundo!」にはスペイン語特有の逆さ感嘆符「¡」が含まれており
「¡」文字をMacで表示するには、Optionキーを押しながら1キーを押します。
3:helloアクションを参考にして、2つ目のアクションgoodbyeを追加せよ。
ルートルーティングの割り当て先をhello
アクションからgoodbye
アクションに変更
なおこのアクションは、「goodbye, world!」というテキストを表示。
答え:config/routes.rbに以下のような記述をする
Rails.application.routes.draw do root 'application#goodbye' end
app/controllers/application_controller.rbを以下のように記述
class ApplicationController < ActionController::Base protect_from_forgery with: :exception def goodbye render html: "goodbye, world!" end end
Gitbucketの使い方と初期設定。ルートディレクトリにて以下をコマンド
git config --global user.name "akane" git config --global user.email bokou31@example.com git init git add -A git commit -m "Initialize repository"
cd /home/ec2-user/environment/hello_app git remote add origin git@bitbucket.org:ユーザー名/hello_app.git git push -u origin --all
できなければ
git remote add origin https://ユーザー名@bitbucket.org/ユーザー名/yuki.git git remote set-url origin https://ユーザー名@bitbucket.org/ユーザー名/yuki.git git checkout -b modify-README git branch master * modify-README
Gemfileに以下のような記述を追加または変更をします
source 'https://rubygems.org' gem 'rails', '5.1.6' gem 'puma', '3.9.1' gem 'sass-rails', '5.0.6' gem 'uglifier', '3.2.0' gem 'coffee-rails', '4.2.2' gem 'jquery-rails', '4.3.1' gem 'turbolinks', '5.0.1' gem 'jbuilder', '2.7.0' group :development, :test do gem 'sqlite3', '1.3.13' gem 'byebug', '9.0.6', platform: :mri end group :development do gem 'web-console', '3.5.1' gem 'listen', '3.1.5' gem 'spring', '2.0.2' gem 'spring-watcher-listen', '2.0.1' end group :production do gem 'pg', '0.20.0' end
Gemをインストールします。
bundle install --without production #コミット git commit -a -m "Update Gemfile for Heroku" #Herokuをインストールするコマンド source <(curl -sL https://cdn.learnenough.com/heroku_install) #Herokuログイン heroku login --interactive heroku keys:add heroku create git push heroku master
演習
1:heroku helpコマンドを実行し、Herokuコマンドの一覧を表示してみてください。
Herokuアプリのログを表示するコマンドはどれですか?
herokuがインストールされてない時
curl -sL https://cdn.learnenough.com/heroku_install
heroku logs
2:上の演習で見つけたコマンドを使って、Herokuアプリの最近のログ (log)を調べてみて直近に発生したイベントは何でしたか?
答え:Herokuにpushした