学習のアウトプット【Rubyドリル・その他基礎】
TECH CAMPにはRubyドリルという基礎問題集があり、
今日は2問解いた中で学んだことをまとめ。
【Rubyドリル29】
特定の倍数の時に表記を変更するRuby問題。(Fizz_Buzz問題として有名?らしい)
while文・剰余演算子の使い方を学んだ。
・15の倍数はnum % 15 ==0でもOK。
・()はなくてもOK。
・if文は上から処理されるので、例えば1番目のelsifの行で
「3の倍数」かつ「5の倍数でない」の「5の倍数でない」の部分は不要になる。
【Rubyドリル32】
クラスメソッドとインスタンスメソッドの判別について。
・クラスメソッド
メソッド名の頭にself.をつける。
クラスだけが用いることのできるメソッドで、インスタンスが用いることはできない。
クラスで共通した振る舞いを定義する。
class Car
def self.run
puts “走る”
end
def ○○(これはインスタンスメソッド)
end
end
【resourcesメソッド】
少し理解が曖昧になっていたので整理。
resourcesメソッドは引数に:tweetsのような指定をする。
上記の場合/tweetsのパスに対応するルーティングが作られる。
resources :tweetsという記述で、下記の7つのルーティングが作られる。
(この際、HTTPメソッドは各アクションに対応したものが割り振られるので、わざわざ記述しなくて良い)
|
GET /tweets(.:format) tweets#index
POST /tweets(.:format) tweets#create
GET /tweets/new(.:format) tweets#new
GET /tweets/:id/edit(.:format) tweets#edit
GET /tweets/:id(.:format) tweets#show
PATCH /tweets/:id(.:format) tweets#update
PUT /tweets/:id(.:format) tweets#update
DELETE /tweets/:id(.:format) tweets#destroy
|
resourcesを使わない場合は、下記のような記述を全てに行う必要がある。
get 'posts', to:'posts#index'
get 'posts/new', to:'posts#new'
post 'posts', to: 'posts#create'