プログラミング -> Ruby on Rails
結論 1. google-chrome をインストールします 詳細は割愛します*1 配置場所は /opt/google/chrome 配下になるかと思います 2. chromedriver をインストールします 詳細は割愛します 配置場所は /usr/bin/chromedriver になるかと思います*2 3. spec/rails_he…
結論 (もろもろの設定は済んでいるとして)X Server が起動しているかどうか。 補足 エラーが出るわけではなく一向に進まないため、気づかないときはなかなか気づきにくい点かと思います。
前提条件 google-chrome と chromedriver*1 はインストール済みとします。 結論 rails_helper.rb に以下の行を追加します。chromedriver のパスは個々人のインストール場所によって書き換えます。 Selenium::WebDriver::Chrome::Service.driver_path = '/usr…
結論 pry のバージョンを 0.12.2 に固定する*1。 理由 理由は、記事引用になりますが、以下になります(感謝)。 attonblog.blogspot.com *1:0.13.x 以降に上げない
はじめに 本記事のタイトルは、以下の記事にならっています。 overreacted.io また、以下の記事に触発されています。 blog.unasuke.com zenn.dev 結論 以下のことをほとんど知りません。 Go React TypeScript Prisma GraphQL Cypress 焦り 上記のことに無知…
結論 app/decorators 参考 Decorator (Draper) については以下の記事がまとまりすぎているので、参照することをおすすめします。 nekorails.hatenablog.com
実例 配列に含まれる各要素の文字列が hoge- で始まっているかどうかを判別するコードを書きます。全ての要素が hoge- で始まっている場合には true が返ってくるコードを書くことを目的とします。 例1 まずは次のようなコードです。この戻り値は true で期…
結論 標題のとおりですが、Rails.application.credentials を用いている場合に、それがクリティカルな場所であると rails s にたどり着くことさえできなくなります。 したがって、config/credentials.yml.enc と master.key を作り直してもらうこと前提で、…
結論 true or false で返すのではなく、errors.add(:HOGEHOGE, '正しい値を入力して下さい!!') を書く必要があります。 参考
結論 以下のページから最新版のバイナリをダウンロードし、パスが通った場所に実行可能状態で配置すれば OK です。 補足 RSpecの〜 という標題にしましたが*1、もちろん他の用途にも使えます。 *1:ググラビリティを考慮
結論 巨大な Rails プロジェクトを開くと、VS Code の Ruby 拡張機能 によりコードのインデックシングが始まります。インデックシングの最中は以下のメッセージがステータスバーに表示されます。 Indexing Ruby source files このとき、CPU負荷率が急激に高…
結論 標題のとおりです。binding.pry の場所によっては出てきません。 補足 binding.pry を削除してもまだ出てこない場合は、Chrome を再起動しましょう。
※現時点での Rails を用いた場合です 結論 以下のコードを起動時に読み込ませるようにすれば、config/locales 配下のファイルに従って i18n してくれます*1。 I18n.config.available_locales = %i[en ja] I18n.default_locale = :ja 読み込ませる場所はどこ…
結論 1. rb-readline の gem をインストールする $ gem install rb-readline 2. .pryrc に以下のように書きます。 .pryrc は Ruby のスクリプトの形で書きます。 require 'rb-readline' require 'readline' if defined?(RbReadline) def RbReadline.rl_rever…
結論 標題の通りですが、config/credentials.yml.enc の復号に失敗すると、config/ にある YAML が読み込まれないことがあります。私の場合は config/storage.yml が読み込まれませんでした。 確認方法 確認方法は簡単で、credentials.yml.enc を編集しよう…
注意 とにもかくにも最低限度の説明用です。何もわからない状態からの脱却を目指す用です。したがって、用語や説明が不十分なところもあるかと思います。また、例として挙げている設計(オブジェクト同士の関係)も現実のモデルとしてはふさわしくないところ…
前提 最小限に、です。もろもろ省略していますし、命名もよろしくありません。用語の使い方も厳密ではありません。 が、何よりもまず最初に簡単に知ることが大切だと思うからです。
前置き 以下の記事に全て書かれているので、そちらを見ればこの記事は用済みではあります。
提示されました。
Squasher gem こちらの gem です。Rails におけるマイグレーションファイルをまとめるための gem です。 インストールの方法 この gem を使うためにはもちろんインストールをする必要があります。公式ドキュメント では Rails のGemfile に書く方法が紹介さ…
結論 tmp/ 配下に書き、rails console や rails runner で実行する。 理由 コミットに紛れ込む可能性を排除したいから 使い捨てであることが明確になるから 拡張子付きで「保存」することで、シンタックスハイライトなどを使うことができるから irb(pry) で…
前提 Railsガイドで解説されている、レプリカとかリードオンリーとかは考えず、単に2つのデータベースをモデルに応じて使い分けることを目的とします*1。 *1:ActiveRecord::Middleware::DatabaseSelector
前提 以下のコードにおいて tweet は Twitter::Tweet クラスのオブジェクトであるとします。 結論 tweet に対して to_json メソッドを用います。結果として得られる値は JSON の文字列なので、データベースにそのまま保存できます*1。 serialized_tweet_obje…
前提 Rails で RSpec を用いているものとします。 結論 bundle install や bundle exec rails db:migrate などの初期設定が終わっていますか。 エラーメッセージに惑わされない このエラーが出るときは、以下のようなメッセージも併せて書かれています。 Mak…
結論 Test Explorer UI という拡張機能をインストールします 上記の拡張機能の拡張機能である、Ruby Test Explorer ををインストールします Text Explore UI の設定をします(私はデフォルトのままにしました) Ruby Test Explorer の設定をします 個人的に…
結論 実行される Bundler のバージョンが Gemfile.lock に書かれているバージョンと一致していない。 どうするか Gemfile.lock に書かれているバージョンの Bundler をインストール(アップデート)します。たとえば、1.17.3 を入れたい場合には以下のように…
結論 少し古い記事ですと、Pokemon の名前空間が Faker::Pokemon として紹介されていることがあります。たとえば、以下の Qiita の記事です。 qiita.com これが現時点*1では、Faker::Game::Pokemon となっています。古い情報を参考にするとエラーになるので…
結論 標題のとおりです。RAILS_ENV=production の場合は Yay! You’re on Rails! ではなくエラー画面が出ます。 gyazo.com Heroku でもそうなる そして当然なのですが、Heroku にデプロイした際も Yay! You’re on Rails! の画面は出ません。$ rails new 直後…
状況 GitHub Actions で bundle install した gem のキャッシュが保存できるようになったので喜んで使っていたのですが、とある日にログを見たところ、以下のような表示が出ていました。キャッシュ容量の上限の 400MB を超えている、との警告です。 [warning…
状況 GitHub Actions の YAML が以下のような場合を想定しています。これは 公式ドキュメント に沿った書き方です。 on: [push] name: hogehoge jobs: fugafuga: name: foobar runs-on: ubuntu-latest container: image: ruby:2.7.0 (中略) steps: - uses:…