rails
railsでモデルのlock使って取得したデータの関連は別トランザクションでinsertすると取れないのね。。 あとデッドロックかかりそう。。
railsでbuildを使うと、assign_attributesと違って、コールバックの実行が異なる。 要確認ですね。
railsで子属性の更新するのに、親の属性の値によって、バリデーションが変わる実装があって、 その切り替えが親のbefore_validationで実装されていて、 assign_attributes使わないと先にコールバック走ってしまう問題。。
polymorphicとincludesで whereをやろうとするとエラーになるけど よくよく考えたら確かにといったところが多かったですねー
rails 6の勉強を少し開始したが 全然進んでない。。
久々にrspecを書くと、手が動かなかった。 associationとかfactorybotで使うと意外とスッキリでした!
毎回忘れるrailsのhas_manyを一発で保存する方法。 AとBが、1対多の場合 xx_idsのBのidの配列をAのオブジェクトに渡すとわざわざ、繰り返し処理しなくても保存できる!
railsで、polymorphicにした時に has_manyのasに同じ名前が指定されてた場合 エラーになるのかなと思ったら has_nanyを定義したモデルからは特に問題なかった! 逆のパターンbelongs_toを設定したモデルから確認を忘れたので、要確認。
今日は久々開発をしたけど、 migrateとモデルちょろっと。 明日はもう少しつっこみたい。。
railsのvalidationエラーの表示は属性名が出るようになってるのは、まとめて出すようかな。 各項目の下とかにエラーを表示するのに、属性名とかいらない。。
今日は、色々発見があった。 railsでhabtmの追加を検知したいとき after_addたるコールバックを使えば、 追加されたオブジェクトを引数で受け取れる。 Dockerfileのrunは少ない方がいいらしい。 もしかするとnoneが増えるのもこの仕業かもしれないのでやって…
capistranoのデプロイはssh-agentで解決したけど bundle installでprivate repoのfetchエラーになる。 利用しないgroupでもinstallはしないけど、fetchはするみたい
capistranoでハマる。 rbenv validateでエラーになるけど、うまくいかないから、要調査です。 今日は作業自体あまり出来なかったけど、 色々案だしが出来たからよしとしよう。
久々にプログラム書くと忘れてることが多い。。 rspecのマッチャーでincludeとhave_attributes使って配列のオブジェクトの中身もチェックできるらしい。
config.ruでRails.envを呼ぶ場所によっては 利用できない場所がある。 config/environmentより前に読んではいけない。
railsかrubyかまだはっきりさせてないけど、Date.parse('H31.4.4')みたいにすると 西暦2019/4/4でパースされた。 令和にはまだ対応してないみたい。
モデル経由のクエリは、scope経由にすると 名前にもよるが、意味ある呼び出し方になるし、短くなるから結構いい。 ただ名前が良くなかったり、同じような条件を使ってたりすると分かりづらかったり、メンテしにくかったりするから追加するときはよく検討しな…
rails使ってるとたまにある、 uninitialized constant エラー。 railsから外れるとあかんすね。
処理の所在って、毎回悩む。 特にcookieとか、絡んでくると少し面倒になってくる。 やっぱりサービスクラスとかがスッキリするんかな。
rspecって、共通化したくなる衝動になり そして、共通化してしまう。。 他の人が見たときにどうかって考えてだけど やっぱり共通化しない方がいいのかなー とりあえず、止まるのが良くないので 突き進むとしよう。
activerecordでexistsのサブクエリってあんまり使わないのかなー いろんな方法があるということは 王道が無いってことかなと思う。
railsのhabtmでinclude使って関連先のテーブルを条件に検索すると、重複データを省くようにdistinctされるんですね。 パフォーマンスが悪いクエリを調べてたら そんなとこが気になった本日でした。
備忘録 chromedriver-helperでだいぶはまったー 公式にはこう書いてる。 https://github.com/flavorjones/chromedriver-helper/blob/master/README.md#known-issues まだ細かいのが確認できていないので これに該当するか要確認。
deviseって、レールから逸れると 調べること多いから辛さがありますね。 色々なケースのサンプル作って試してみる。