Open5

Rails お勉強

ナガナガ

rails コマンド 短縮形

例えば generate だと普通に書けば下記だが

rails generate model User name:string email:string

下記のように叩くこともできる

rails g model User name:string email:string
一般 短縮
rails server rails s
rails console rails c
rails generate rails g
rails test rails t
bundle install bundle

bundleGemfile にある geminstall するためのコマンドなので node.jsnpmpackage.json みたいな関係っぽい。

ナガナガ

間違った generate を戻したい

下記を叩くと model に関連するファイルが追加されたり更新されたりする。

controller の場合

rails generate controller Company about 

model の場合

rails generate model User name:string email:string

叩いた後で model の命名変えたいな〜、失敗した〜となった場合、無かったことにできるコマンドが存在する。
それが下記だ。

controller の場合

rails destroy controller Company about 

model の場合

rails destroy model User

model の場合は model名以外の引数は不要。

ナガナガ

root_url を使いたい

routeを定義している下記ファイルに root を定義してあげる。

app/config/routes.rb
Rails.application.routes.draw do
  root 'static_pages#home'
end

すると view で下記のように扱えるようになる

app/views/static_pages/about.html.erb
<p>
  <%= root_url %>
</p>
ナガナガ

htmlテンプレートについて

index.html.erb というファイル形式を views 配下に置く。
基本的な構文は ejs と同じ。
対応する controller から値を受け取ることができる。

次のような controller の場合

app/controllers/hoge_controller.rb

次のような感じのファイルでviewを作成していく。

app/views/hoge/index.html.erb
ナガナガ

テスト結果をきれいに見せたい

Gemfile にある minitest-reporters という gemを利用する。

test/test_helper.rb に以下を追加する。

test/test_helper.rb
ENV["RAILS_ENV"] ||= "test"
require_relative "../config/environment"
require "rails/test_help"
+ require "minitest/reporters"
+ Minitest::Reporters.use!

class ActiveSupport::TestCase
  # Run tests in parallel with specified workers
  # 指定のワーカー数でテストを並列実行する
  parallelize(workers: :number_of_processors)

  # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
  # test/fixtures/*.ymlにあるすべてのfixtureをセットアップする
  fixtures :all

  # Add more helper methods to be used by all tests here...
  # (すべてのテストで使うその他のヘルパーメソッドは省略)
end