PHPer目線のRailsチュートリアル学習メモ#2
#1はコチラ
続けて雑に書いていく
ソースコードはチュートリアルから引用
DBまわり
ORMについて
- RailsではActive Recordを採用している。
Active RecordのオーナーはPostgreSQLに対するメンテは熱心だが、MySQLに対して冷たい(kamipoさんがMySQLのために日夜コミットされている。感謝)
CakePHPではEntityがあったがRailsではどうか?
- LaravelのORMはEloquent
ほか
- Controller名は複数形、Model名は単数形になるのはCakePHPと同じ
- 同じくマイグレーションもある (そもそもRails->CakePHPだけど)
- グヮッ https://youtu.be/2Ag8l-wq5qk
7.1.2 Userリソース
https://railstutorial.jp/chapters/sign_up?version=5.1#sec-a_users_resource
例えばUserモデルを作成済の場合、routes.rbにresourcesを記述するだけで、RESTfulなリソースに必要なアクションを利用できるようなる。
config/routes.rb
.
.
.
resources :users
Railsのルーティングについてはコチラ
7.1.3 debuggerメソッド
https://railstutorial.jp/chapters/sign_up?version=5.1#sec-debugger
byebug gemを入れるとdebuggerメソッドを使い直接的なデバッグを遂行できる。
例えば下記のように書いて/users/show/:idにアクセスすると、debuggerが差し込まれた時点での状態を確認することができる。
class UsersController < ApplicationController def show @user = User.find(params[:id]) debugger // ココ end def new end end
例えば下記のようにdebugger時点でのuserが持つ属性を確認することができる。
@Railsサーバを立ち上げたターミナルのbyebugプロンプト上
(byebug) @user.name "Example User" (byebug) @user.email "example@railstutorial.org" (byebug) params[:id] "1"
- CakePHPだとDebug Kit - 3.6はあったけど、debuggerは用意されてないはず(IDE使えばできるけど。PhpStorm + Xdebugとか)