学習バンザイITエンジニアの精神安穏日記

ITエンジニアというより、IT系雑務者

Rails

webpackerだとかwebpackだとかよくわからなくて関わりたくありませんがとにかく色々ありがとうございました

2023-01-17 15:59:39 贖罪 webpack, webpcker周りが苦手すぎたので、なるべく関わりたくないと思っていたが、そうも行かなかったです。 死ぬ @rails/webpackerは、wbpackとは似てるけどまあまあちがって、別物でなんたらloaderのフルセットとなっているわけ…

overcommitのrubcopが失敗するとき(Unexpected ouput)

状況 $ git commit Unexpected output: unable to determine line number or type of error/warning for output: 原因 budle exec の書き方がだめそう。 before PreCommit: RuboCop: enabled: true command: ['bundle exec rubocop', '--auto-correct', '$(g…

rails seed:rollbackで楽にファイル選択する方法

動機 migration file書き直すときに 地味にls db/dataして探してコピペするのがしんどい 事前準備 brew install fzf コマンド ※fishの場合 rails seed:rollback MIGRATION=(ls db/data/ | fzf) ※bashの場合(多分) rails seed:rollback MIGRATION=$(ls db/dat…

【Ruby】erbの中にerb書く場合のエスケープ方法

templateのgenerateのときに迷ったのでメモ 結論 <%% %> と書く 実践 <% variable = 'aaa' > <%%= variable %> <%=variable> rails generate hoge 結果 <%= variable %> aaa

【Rails】【Ruby】[{key: "A", value: 1},... ]な配列を{ A: 1, B: 2 }にする方法

ハッシュの配列でkeyが一意なときに、Hash化したいとき、あると思います。 RailsのActiveRecordで使いました。 例 # Post belongs_to User Post.all.select("user_id, count(user_id) as count") .group(:user_id) .map { |h| [h[:user_id], h[:count] } .to…

database.ymlのusernameを省略できる場合

ハマりかけたのでメモ 状況 development: username: hoge-dev database: hoge-development staging: <<: *default url: <%= ENV['DB_URL'] %> password: <%= ENV['DB_PASSWORD'] %> 以上の用にstagingのusernameが省略されている場合がある。 一瞬どうやってアクセスするの??と思ってしまった。 理</:>…

ActiveRecordで複数のAND条件をORしたいときの方法

こういうSQLを得たい。 select * from posts where user_id = ? AND posted_at > ? OR user_id = ? AND posted_at > ? とりあえずやってみた。 Postクラスがあるとする。 以下のカラムをもつ。 user_id posted_at class Post < ActiverecordBase # user_id #…

GraphQLのEnumのエラーの解消

状況 Railsで以下graphql-rubyを使っている https://graphql-ruby.org/ create mutationの payloadで Enumを参照しようとした時に発生 mutation { createAbc { input: { reason: a } }, { abc { reason } } enum AbcEnum { a b c } エラー内容 GraphQL::Enum…

ActiveRecord has_manyをhas_oneしたときの挙動

## 簡易モデル class User has_many :posts has_one :post end class Post belongs_to :user end userに複数のpostが紐づくとき、has_one postは何になるか user = User.find(1) user.post => ??? 以下のようなsqlが発行されるが、order byの指定がない post…