エラー解決

バグを発生させてしまった反省

今日は自分の実装した機能が原因の不具合がたくさん発覚しました。 具体的な内容 具体的には以下のような内容です。 ・変更→ 検索で1件のみ絞り込んで表示していたのを条件一致するもの全件表示する バグ→ 半角のものがヒットしなくなってしまった ・変更→ …

ssh-add

pcを再起動したらsequel proでssh接続が使えなくなってしまい困っておりました。 さらにターミナルでssh接続する際も毎回パスワード求められるようになってしまいました。。。 しかし、以下のコマンドを教えてもらい実行したところ、すぐ直ってくれました!…

SQL発行されまくるスクリプト

あるデータを取得する必要があり、コンソールでスクリプトを実行しておりました。 すると、AWS RDSのProcessor load が90%を超えているというアラートが何度も鳴ってしまいましたw OPさんにも心配をさせてしまいたした。 その時のスクリプトが以下です。 ids…

find_eachで順番を指定したい

pdfの作成される順番を変えたいと思いコードをいじっておりました。 以下はpdfの作成される部分のコードの一部です。 class BatchPrintJob < ApplicationJob 略 def perform(batch_print) 略 invoices.find_each do |invoice| 略 pdf << CombinePDF.load(pdf…

FactoryBot難しい...

ジョブを実行すると、ある条件の時にレコードが更新されることをテストしたかったのですが、なかなかテストが通らないため、binding.pryを駆使してデバックしておりました。 しかし、binding.pryだときちんと値が更新されているのに、なぜかテストは落ちてお…

@sinamon129さんの「システム障害との向き合い方」をもう一度読んだ

@sinamon129さんの「システム障害との向き合い方」をもう一度読んでみました。 このご発表を聞いた当時はシステム障害を経験したことがありませんでしたが、先日まさにシステム障害を経験することがあったからです。 そのスライドが以下です!! speakerdeck…

ActiveDecoratorを(ごく一部)読んだ

先ほどActiveDecoratorを使って定義したメソッド(を呼んでるモデルに定義したメソッド)をコントローラーで呼んだところ、エラーとなりました。 ActiveDecoratorをView以外で使う時は、ActiveDecorator のデコレーターメソッドをかましてあげる必要があるとの…

Could not locate device support filesというエラー

エラー内容 XcodeでiOSアプリをビルドしようとしたら以下のようなエラーが出ました。 Could not locate device support files This iPhone 6 is running iOS 12.2 (16E227), which may not be supported by this version of Xcode. 調べてみたら、どうやらXc…

ngrokを使ってみた

ngrokというローカル環境を外部に簡単に公開できるツールを使用しました! 使い方や途中詰まった部分について書いておきます! ngrokとは ローカル環境を外部に簡単に公開できるようにしてくれるツールです。 以下のようにngrok http 3008とコマンドを実行す…

libv8というgemのインストールが失敗する

エラー内容 Ruby3系のバージョンで作られたRailsのプロジェクトを動かしたかったので、 環境構築後bundle installをしたら以下のようなエラーが出てしまいました。。。 libv8 というgemのコンパイルで失敗しているようでした。 Installing libv8 3.16.14.15 …

accepts_nested_attributes_forを使った時のrequest specでのパラメータ指定

問題 menuを作成するrequest specでパラメータ の指定の仕方がおかしかったようで、テストが落ちておりました。 menuモデルでは, accepts_nested_attributes_for :menu_images というようにmenu_imagesを子レコードとして作成するようにしておりました。 以…

リモートのmasterに間違えてmergeしてしまった時

リモートのmasterに間違えてmergeしてしまい、めちゃくちゃ焦る事態がありました。 別に問題のある内容をmergeしてしまった訳ではないのですが、明後日mergeしましょうと話していた内容だったので焦りました。 その時の手順についてまとめておきます。 手順 …

firebase initしたらError: HTTP Error: 401が出た

エラー内容 firebase initコマンドを実行し、Hostingを選択してエンターしたら、以下のようなエラーが出ました。。。 Error: HTTP Error: 401, Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other vali…

Date型のカラムの値が今日の日付より以前のレコードをとるのに苦戦した

発生した問題 Jobで以下のようにクライアントのidを取得している部分に対して、"今日の日付より以前の契約をしている"という条件も足したいと思いました。 client_ids = invoice_build.billing_closing_date.contracts.with_status(:actived).pluck(:client_…

postgresqlのセッションを切断

テストが実行できなくなってしまい、焦ることがありました。 ターミナル再起動しても相変わらずテストが実行されないままでした。 rake db:resetしようと試みてもエラーでリセットできませんでした。 しかし、ログをたどっていったところ、どうやらポスグレ…

capybaraで取得した要素の中身を確認する

テストが通らない原因を探るため、binding.pryを仕込んでデバッグをしておりました。 止まってくれたところで、 find(‘#client_check_by_id’) とすれば、その要素を取得は出来るものの、その中身を見たい!と思い、そのやり方を調べてみました。 [1] pry(#<RSpec::ExampleGroups::Nested::Nested_2>)></rspec::examplegroups::nested::nested_2>…

ポスグレとGP Commanderを接続する

起こった問題 PG Commanderというポスグレを可視化してくれるアプリを使いたかったのですが、ある日突然、自動で接続してくれなくなってしまっておりました。 自分で各項目を入力し接続を試みたのですが、上手くいかず困っておりました。。。 解決法 Portを…

javascriptで「もし 'cssのclass' が存在すれば」という条件をかく

InfiniteScrollを実装していた箇所で、以下のようなエラー文がコンソールに出てしまっておりました。 おそらくページネーションが無いときにも関数が呼ばれてしまっており、エラーが出ているようだと思い、InfiniteScrollを実装していた関数を呼ぶ部分で、条…

jsでbinding.pryっぽいデバッグ

検証ツールでjavascriptでもbinding.pryのようなことが出来ると教えてもらい、初めて知りました。 今までチェックしたい値を変数に入れて、console.log()で確認、ということをコマコマしていたのですが、教えてもらった方法の方がお手軽で便利でした。 その…

ransackを使った日付検索で指定した日付の前日までのデータしか取得できないのを修正

問題 ransackで oooo/oo/oo から xxxx/xx/xx までというふうに日付検索ができるようにしていたのですが、 そのままだと xxxx/xx/xx の部分の時間が00:00:00となってしまう事で、指定した日付の前日までのデータしか取得できませんでした。 2019-03-01から201…

rescue_fromは下に書いたものから評価される

エラーページ をrescue_fromを使って以下のように設定しておりました。 class Foo::BarController < ApplicationController 略 rescue_from ActiveRecord::RecordNotFound, with: :render_404 rescue_from ActionController::RoutingError, with: :render_40…

クエリパラメータを次のアクションへ渡す

現在のアクションで持っているクエリパラメータをそのまま次のアクションに渡そうと思ったのですが、少し気をつけないと次のアクションへ渡せなかったので、その方法を書き留めておきます。 エラー内容 次のアクションにも渡したいクエリパラメータがある時…

無限スクロール実装

Infinite Scrollというライブラリを使って無限スクロールを実装しました。 その際のやり方について書き留めておきます。 以下はInfinite Scrollのリンクです! infinite-scroll.com 実装にあたってこちらの記事を参考にさせていただきました。 qiita.com Inf…

kaminariでundefined method `page' for #<Array:0x000xxxxxx>と出た

Kaminariを使用したページネーションを作ろうとしており、通常通り実装していたら、以下のようなエラーが出てしまいました。。。 NoMethodError - undefined method `page' for #<Array:0x000xxxxxx> kaminariの使い方は間違っていないはず!何故?!と思い調べてみたら無事解決</array:0x000xxxxxx>…

ransackで数字の1をパラメータで渡すとエラーが出た

ransackを使った検索フォームを作っていたのですが、数字の1をパラメータとして送る際、エラーが出てしまう問題にぶつかりました。 その解決方法について書き留めておこうと思います。 エラー内容 ransackを使って作成した検索フォームで、数値を入力しても…

AWSのsecret_access_key管理についての反省

現在作成中のアプリでActiveStorageを使用し、その保存先をAWSのS3に設定しています。 S3を使用できるIAMuserを作成し、そのsecret_access_keyとaccess_keyをcredential.ymlに保存していたのですが、いつの間にかcredential.ymlが消えてしまっておりました。…

RSpecでアソシエーションしたデータの作成で手間取った

タイトルの通りなのですが、RSpecでテストを書く際、アソシエーションしたテストデータの作成にだいぶ苦戦しましたw なんとかうまく定義することが出来たので、その方法についてメモしておこうと思います!! FactoryGirlをインストール はじめ、factoryを使…

間違えてgit reset --hard してしまったのを取り消す

git reset --hard HEAD~2 と実行したが、実行した後戻し過ぎたと気づきました。。。 ~/p/r/todo_management_app (status|✔) [127] $ git reset --hard HEAD~2HEAD is now at e718fea remove conflicts 調べたら、git reflog コマンドでやり直せるとの事なの…

vendor/assets配下のstylesheetsとjavascriptsが認識されない

エラー内容 vendor/asssets/stylesheets配下にcssファイル、vendor/assets/javascripts配下にjsファイルを追加し、 それそれ以下のように読み込ませる指定をしたのですが、読み込んでくれないエラーに遭遇しました。 app/assets/stylesheets/application.css…

includesしたのにN+1問題が回避できない

userモデルとtaskモデルに関して、1対多のアソシエーションを組んでおり、 以下のようにビューでeach構文の中でアソシエーションを使ってuserのtasksの数を表示させておりました。 app/views/admin/users/index.html.slim div.fontsize_midium.margintop_bi…