indilog

Ruby/Rails/React/Goなどに関して自分が勉強したことなどを投稿しています

rails

Herokuのreview appsでアプリケーション毎にelasticsearchを利用する

review appsでもelasticsearchを無料プラン内で自動的に設定して、運用をしてみたかったので色々試してみたらできた記録 1. searchkickを導入する elasticsearchの機能/設定を簡単にrailsに組み込むために、こちらのgemを利用する github.com Gemfile gem 's…

STIを利用している場合のFactoryBotのfactory定義について

STIを活用しているモデルは、スーパークラスでfactoryを定義して、テストでオブジェクトの比較をすると、スーパークラスのままのものと、 サブクラスに変換されているものとの比較になってしまうことがあり、そのためテストが落ちることがある 以下のように…

Model周りのRSpecを書く時に意識していること

正しい方法かはわからないけど、最近Model周りのテストコードを書いていて自分でしっくりくるような書き方を考え出したのでつらつらと書いていきたい テストコードの基本形 あるModel内のインスタンスメソッドをテストする場合の基本形としては、このような…

Shrineでdelete_rawプラグイン使用時に元の画像を削除せずにseedデータを作成する

seed_fuを利用し、 Model.seed do |s| s.image = File.new(image_path) end としてseedデータ登録時にShrineを用いて画像を登録するようにしていたら、 seedデータ作成時にdelete_rawのプラグインを入れていたため、元のファイルが削除される形になってしま…

gretelって名前がメルヘンだけどパンくずリスト作りに便利

パンくずリストの実装って結構面倒くさそうだなって思ってたけど、gretelはなんて素敵gemなんだろうと思った。 github.com 使ってみた READMEにもかいてあるけど、おもむろに Gemfile gem "gretel" と書いて bundle install 次に設定ファイルを rails genera…

【Rails】guard-livereloadを使ってみる

きっかけ ReactJSの開発環境を設定している動画で、livereloadでサクサク開発をしているのが紹介されているのを見て、面白そうだなと思ってやってみました。 guard-livereload github.com RSpecとか更新時に色々と自動化してくれるやつのlivereload版。 view…

【Rails】Time型で時間の条件だけを指定して取得

DBはSQLite3を使用 問題 id: 1, starttime: 2000-01-01 10:00:00 +0900 id: 2, starttime: 2000-01-01 10:00:00 +0900 このようなレコードがあった時に Model.where(starttime: Time.parse("2000-01-01 10:00:00 +0900")) ではid: 1のみの取得となってしまっ…