2021-03-01から1ヶ月間の記事一覧

Herokuで画像ファイルが壊れて表示されない時の対処方法。

Herokuはデータベースが定期的にリセットされ、画像ファイルが壊れて表示されない。そのため、画像を表示させるためには下記コマンドを用いてデータベースをリセットすることが必要。 heroku run DISABLE_DATABASE_ENVIRONMENT_CHECK=1 rails db:drop db:cre…

railsでサーバーが起動しない場合の原因

rails sでサーバーを起動し、ローカル環境でブラウザの確認をする機会が多くあると思います。その時、 A server is already running とターミナルで出て、ブラウザがずっと読み込み続けて開けない時の原因と対策を記録していきます。 原因 これは一日の作業…

before_actionの使い方とコードの可読性の上げ方

コントローラーのアクションで下記のような選んだ商品と現在ログイン中のユーザーが同じか確認する記述がありました。何度も同じ記述を繰り返さないためにどうすればいいか記録していきます。 app/controllers/items_controller.rb def edit @item = current…

文字列の一部を切り取りたい時の書き方。

任意の文字列の最初の2文字を最後尾に持ってきてその文字を出力するメソッドを作りたい時の書き方。 出力例:left2("Hello") → lloHeleft2("Hi") → Hi def left2(str) puts str[2..-1] + str[0..1] end ①str[2..-1]で(配列の1文字目は0のため)3文字目から…

全角数字について

テストコードで全角数字でないことを確認したい時に困ったのでメモしておきます。 一般的な数字は半角数字で111などと入力します。 一方、全角数字は111ですが、これは数字ではなく文字扱いになります。 よって、全角数字は"111"のように""や''のクォ…

rails db:rollbackでエラーが出てしまい、rollbackできない時の対処方法。

rails db:rollbackができない場合の対処方法をまとめていきます。 マイグレーションファイルの変更方法 rails db:rollbackでstatusがdownにならない時 1、マイグレーションファイルの変更方法 マイグレーションファイルはエディタ上では書きかえられますが…

ユーザー管理機能のバリデーションについて

gyazo.com ユーザー管理機能のバリデーション設計で中々エラーを解決できなかったのでまとめておきます。 1つめのエラー(一意性) User ユーザー新規登録 重複したemailが存在する場合は登録できないこと Failure/Error: expect(@user.errors.full_message…