らくだ🐫にもできるRailsチュートリアル|3.2
3.6.1 minitest reporters
2019.05.24 らくだ🐫にもできるRailsチュートリアル|3.3から移動
masterブランチから移動する前に
テスト結果を見易くするために3.6.1に書いてあるこちらの設定をしておきます
(ブランチを移動しているようでしたらmasterブランチにcheckoutしておいてください)
ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)
require 'rails/test_help'
#下記の2行を追加します
require "minitest/reporters"
Minitest::Reporters.use!
class ActiveSupport::TestCase
# Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
fixtures :all
# Add more helper methods to be used by all tests here...
end
テスト結果に色が付くので見やすくなります
3.2 静的ページ
新しくブランチを作って作業していきます
(ところでブランチって作る?切る?←多分どっちでも)
(master) $ git checkout -b static-pages Switched to a new branch 'static-pages' (static-pages) $ #cloud9のターミナルだと()に現在のブランチ名が表示されていて便利
3.2.1 静的なページの生成
キャメルケースとは
CamelCase スペースを詰めて単語の頭文字を大文字にする表記
因みにスネークケース(snake_case)はスペースをアンダースコアに置き換えた表記
controller名はキャメルケースで表記
#homeアクションと helpアクションを持った StaticPagesコントローラを作成
$ rails generate controller StaticPages home help
Running via Spring preloader in process 11965
#以下自動生成されたファイルやコード
create app/controllers/static_pages_controller.rb
route get 'static_pages/help'
route get 'static_pages/home'
invoke erb
create app/views/static_pages
create app/views/static_pages/home.html.erb
create app/views/static_pages/help.html.erb
invoke test_unit
create test/controllers/static_pages_controller_test.rb
invoke helper
create app/helpers/static_pages_helper.rb
invoke test_unit
invoke assets
invoke coffee
create app/assets/javascripts/static_pages.coffee
invoke scss
create app/assets/stylesheets/static_pages.scss
Gitリポジトリに追加
$ git add -A $ git commit -m "Add a Static Pages controller" #トピックブランチ(static-pages)をプッシュ 以降git pushでOK $ git push -u origin static-pages
自動生成されたファイルやコードの取り消し(削除)
自動生成されたファイルやコードは多岐にわたっているので
取り消す際は手動で削除するのではなくコマンドで削除する
#「generate」←生成・削除→「destroy」 $ rails generate controller StaticPages home help $ rails destroy controller StaticPages home help #modelの自動生成を取り消す場合の引数は不要 $ rails generate model User name:string email:string $ rails destroy model User $ rails db:migrate $ rails db:rollback #直前の変更を取り消す場合 $ rails db:migrate VERSION=0 #指定したversionまで戻る(0は最初の状態まで)
home アクションと helpアクション
Rails.application.routes.draw do #/static_pages/homeにアクセスがあった場合StaticPagesコントローラーのhomeアクションを実行 get 'static_pages/home' #/static_pages/helpにアクセスがあった場合StaticPagesコントローラーのhelpアクションを実行 get 'static_pages/help' root 'application#hello' end
上記のルーティングに対応するコントローラーとアクションはこちら↓
class StaticPagesController < ApplicationController
def home
#railsではアクションの中身が空白の場合、単に対応するviewを返す
#対応するviewはこちら→/sample_app/app/views/static_pages
end
def help
end
end
演習
Fooというコントローラを生成し、その中にbarとbazアクションを追加してみてください。
コラム 3.1で紹介したテクニックを駆使して、Fooコントローラとそれに関連するアクションを削除してみてください。
>$ rails g controller Foo bar baz
Running via Spring preloader in process 17110
#以下、自動生成されたファイルやコード
create app/controllers/foo_controller.rb
route get 'foo/baz'
route get 'foo/bar'
invoke erb
create app/views/foo
create app/views/foo/bar.html.erb
create app/views/foo/baz.html.erb
invoke test_unit
create test/controllers/foo_controller_test.rb
invoke helper
create app/helpers/foo_helper.rb
invoke test_unit
invoke assets
invoke coffee
create app/assets/javascripts/foo.coffee
invoke scss
create app/assets/stylesheets/foo.scss
#controllerやviewファイル、routesの中身もチェック
$ rails d controller Foo bar baz
Running via Spring preloader in process 17203
#以下、削除されたファイルやコード
remove app/controllers/foo_controller.rb
route get 'foo/baz'
route get 'foo/bar'
invoke erb
remove app/views/foo
remove app/views/foo/bar.html.erb
remove app/views/foo/baz.html.erb
invoke test_unit
remove test/controllers/foo_controller_test.rb
invoke helper
remove app/helpers/foo_helper.rb
invoke test_unit
invoke assets
invoke coffee
remove app/assets/javascripts/foo.coffee
invoke scss
remove app/assets/stylesheets/foo.scss
3.2.2 静的なページの調整
本文ママ
まとめとか感想
次からテストなので嵐の前の静けさ感ある
らくだ🐫にもできるRailsチュートリアルとは
「ド」が付く素人のらくだ🐫が勉強するRailsチュートリアルの学習記録です。
自分用に記録していますが、お役に立つことがあれば幸いです。
調べたとはいえらくだ🐫なりの解釈や説明が含まれます。間違っている部分もあるかと思います。そんな所は教えて頂けますと幸いなのですが、このブログにはコメント機能がありません💧お手数おかけしますがTwitterなどでご連絡いただければ幸いです