ひきすう を いんすう って読んじゃうことない?【TECH::EXPERT】

Git/GitHub Rails TECH::EXPERT プログラミング 応用カリキュラム編

【本日のメニュー】
・ArgumentError
・routsでネストしたページのメソッド
・gemで送信機能実装
・ヒヤリハットgithub
・プロゲートのユーザー登録/管理

【ArgumentError】
引数があってなかったり、引数で呼んだ値が正しくないときなどに出るらしい。
なんか近づいてきてる気はする。エラーは出るけどね!!
そういえばrailsになってから引数ってご無沙汰な気がするけど、
引数ってやっぱり

【routsでネストしたページのメソッド】
多分、routsでネストされたページのメソッドのクラスの継承らへんがうまくいってないんだと思いました。

メソッドエラーが出るアクションに、
変数とか入れてもノーメソッドエラーなので、
多分、クラスの継承とかで情報持ってきてあげて引数にぶち込んであげないといけないんだと思いました。

[参考]ネストさせたコントローラのビューのパスが通らないです
https://teratail.com/questions/47745

このくだりを見て解決しようかと思ってます。
と思って色々みてみたら、エラー個所がmessages#indexで、モデルとか必要なのでは?という感じで、
チャット機能のカリキュラム内でmessages定義諸々してたので、先に進むことにしました。

まぁ、パーツは出来上がってから繋げるのかもしれないし、多少はね。

【gemで送信機能実装】
include CarrierWave::MiniMagick
>この記述をコメントイン
process resize_to_fit: [800, 800] >MiniMagickというGEMを使って、
>resize_to_fit 縦横比をそのままで
>縦・横 共に800pxにリサイズ。(小さい方の辺はでかい方の縮小に合わせる的な)

縦横比が崩れることになんの疑問を抱かないエンジニアさんがいて、
この説明がめっちゃ難しかったのですが、
こういうメソッドが備え付けであるとありがたいですよねー。

【ヒヤリハットgithub】
すっごく勘違いしてて、プルリクとコミットをイコールだと思ってました。
なので、1メソッドごと(誇張するとこの頻度)にレビュワーさんに見てもらっていて、人件費の無駄遣いをしてしまったなと思いました。
レビュー送って30秒でLGTM返ってくるから、あの人達はレビューサイボーグなんだと思ってましたがそうではなく
細かく送りすぎだったそうです。

おさらい
ブランチは1機能ごとに区切って、
コミットはその機能作成する上での要素の1つ1つでバージョンのようにつけていくイメージかな
同期の鯖こと渡辺氏が送ってくれたqiita記事の中の、ドラクエセーブと同じ頻度っていうのがわかりやすかった。

ブランチは洞窟
ある程度進んだらセーブというコミット
宝を手にして城に持って帰るのが、マージしてブランチ削除

って感じでしばらく進めてみようかな。

コミットの頻度の、ブランチの大きさをグループワーク前に決めておくのが良いらしいっすよ。

【プロゲートのユーザー登録/管理】
プロゲートのユーザー登録/管理のrailsをやっているのですが、
プロゲートではgemのdeviseを使わずに自作するのです。
ログインとか、ログアウトとか。
せっかくだからgem使ってやってくれたら参考になるのになーって思ったのですが、
よく考えてみたら、deviseが当たり前のようにやってくれてた動作を、
「実はこういう作りなんだよ〜(簡易的)」に教えてくれるって貴重だなって思って。
なんかgem使って詰まった時とかに、
どうしてこう出力されているのかとかざっくりわかってるだけで、
調べるネタ、仮説ネタになるからやっとくと良いかもなと思った。

[ログイン] @user = User.find_by(email: params[:email], password: params[:password])
>@userにログインフォームから送られてきたID /PASSに一致したユーザー情報を代入

if @user
>もし@userに値が入っているのであれば〜
>elseは「間違ってるよ」のflashメッセージ
session[:user_id] = @user.id
>このIDのユーザーがログインしましたよ〜

[ログアウト] session[:user_id] = nil
>ログインしているIDを空にしてログアウトさせるよ〜

ヘェ〜!ヘェ〜!ヘェ〜!(トリビアの泉)