Ruby on Railsでよく使うデバッグ方法をまとめてみました。
・Controllerでは、logger.debug(@test)
・View, Controller以外でのデバッグは、Rails.logger.ログレベル(@test)
・@test.inspectを使うことで、オブジェクトの中身をわかりやすく表示できる
特に以下の2つが人気なので、チェックしましょう!
Viewでのデバッグ
<%= debug @test %>
実は、Viewではこれでいけます。@testはデバッグで、中身を確認したい変数です。
Controllerではこちら。
logger.debug(@test)
スポンサーリンク
他のデバッグ方法
View, Controller以外でのデバッグはこちら。
Rails.logger.ログレベル(@test)
ログレベル | 説明 |
---|---|
unknown(値) | 不明なエラー |
fatal(値) | 致命的なエラー |
error(値) | エラー |
warn(値) | 警告 |
info(値) | 通知 |
debug(値) | デバック情報 |
スポンサーリンク
inspectで詳細表示
inspectを使うことで、オブジェクトの中身をわかりやすく表示することができます。
@test.inspect
よく、使うので覚えておきましょう。
Ruby on Railsのデバッグ方法まとめ
以下、大事なまとめ。
・Controllerでは logger.debug
・それ以外では、 Rails.logger.debug
・inspectでオブジェクトの中身を調べられる
これらを覚えておけば簡単にデバッグができます。
質問はプログラミングスクールでするといい
なお、こうしたプログラミングのスキルはプログラミングスクールで勉強することで効率的に高められます。
そのおかげで未経験ながらRubyエンジニアとして内定をもらえたんですよ。
地方からでもプロに学ぶ方法
でも、僕が通っていたような学校って都心じゃないと通えないんですよね。
では、地方に暮らす人はどうやってプログラミングを学べばいいか?
追記:VSCode経由でRailsアプリのデバッグ
VSCode経由でRailsアプリのデバッグ出来るようになったぞ
— さわみる (@sourmilk) 2018年9月30日
これとVSCodeのコンソール使えば別途iTerm2を立ち上げる必要が皆無になった。
— さわみる (@sourmilk) 2018年9月30日
ああ!Railsだと今はデフォルトでByebugが入ってるのか!
(今はとりあえず、Railsでなく、ただのRubyコードの方で利用してるけど)
— まゆたん@休日プログラマ (@mayuutann) 2018年12月12日
paramsやconsoleでのデバッグも
Railsのデバッグ
こんな感じでdebuggerメソッドを差し込むだけ!
def show
@user = User.find(params[:id])
debugger
endUnityでちょいちょいDebug.log差し込むのと同じ感じかな #ハリー教授 #Railsチュートリアル#駆け出しエンジニアと繋がりたい
— ハリー教授@Ruby学習 (@it_mycareerjp) 2018年10月13日
rails c >> console.log したら ファイル出力できたけど ぐちゃあああああ
— しっかりシュール (@shule517) 2017年2月14日
printでの描写、Slimについても
railsでputs、print、pメソッドの違い
putsは返り値がnilで、改行を加える
printは返り値がnilで、改行を加えない
pは返り値が引数そのもので、改行を加えるputsやprintはユーザー向けで、pは開発者向けです。
— すぎた@病気からの復活へ (@38lvd3) 2018年12月5日
rubyで開発の修行をしているのですが、
チュートリアルしかやってなかったので、
Slimというテンプレートエンジンがあることを
初めて知りました
奥深きですhttps://t.co/xMwT4hfun5— SA@railsガチ修行中 (@one_daigaku) 2018年12月23日
templatesも使ったら便利
Railsに関しては正直 RubyMine >>> VSCode ですよ。補完の性能が全然ちがいます。
— FUJI Goro (@__gfx__) 2018年12月27日
railsのscaffold templatesを勉強中。普段scaffold使わなかったけど、templates使ったら便利な事に今更気づいた。。
— S.I (@o918) 2018年9月29日