†でおきしブログ†

ウナギ食べたいヽ(•̀ω•́ )ゝ✧

Rails

Rspecのmatch_array又はcontain_exactlyで右辺のStructの配列が文字列になる謎に悩まされた

ruby 2.6.2 rails 5.1.1 rspec 3.5.8 let(:foge) { Struct.new('foge', :test, keyword_init: true) } let(:foges) do [ foge.new(test: 'test') foge.new(test: 'test2') ] end it do expect(hoge).to match_array foges end hogeはfogesと同じStructの配列…

【Rails】docker で searchkickとelasticsearchの組み合わせが動かなすぎて10時間ぐらいハマった

☆パーフェクトRuby on Railsのお勉強ネタです パーフェクト Ruby on Rails 【増補改訂版】 (Perfect series)作者:すがわらまさのり,前島真一,橋立友宏,五十嵐邦明,後藤優一発売日: 2020/07/25メディア: 単行本(ソフトカバー)8-2-2 のsearchkickのとこです…

ハッシュの配列をeachでアクセスしようとしたらno implicit conversion of Symbol into Integer

no implicit conversion of Symbol into Integerは xxxx[:hash] xxxxの部分がHashじゃない時に発生するわけですけど、今回、Hashと思っていたものが配列になっていました。 hoge_array = [{fuga: "hoge"}] hoge_array hoge"}]hoge_arrayは[{fuga: "hoge"},[{…

【Rails】なんでindexがルーティングされないんだ!と思ったら【routes.rb】

resourcesの場合は、一覧表示であるindexがありましたが、resourceの場合は、indexの定義がされません。 https://qiita.com/Atsushi_/items/bb22ce67d14ba1abafc5 そうなんですね(>現場で使える Ruby on Rails 5速習実践ガイド作者:大場 寧子,松本 拓也,櫻井…

ActiveRecordクエリでwhereに条件つけたい時にyield_selfがとても便利!

HogeModel.yield_self{|relation| fuga.present? ? relation.where(moge: "mogemoge") : relation}.where… ↑ のようにチェーンしつつyield_selfブロック内で条件分け出来ます。条件に合致しない場合はrelationをそのまま返す事で、後続のチェーンに影響を出…

Railsで開発してて突然"infinity"ってエラーになって驚いたお話

☆結論 "666" * 666みたいな奴をDBのdoubleカラムに突っ込んで、それを表示しようとしてinfinityになりやんした。 Rubyって文字列に数値の積って文字列が数値分増えるんよね。shinkufencer.hateblo.jp ".to_i"を使う事で解決!