みるべあのエンジニア日記

勉強したことについてTwitterとガチブログの中間くらいのスタンスで書く日記

Ruby on Rails

gemの比較ができるAwesome Rubyが良さげ

Railsで開発していてライブラリを探すときに、 他に似たようなgemないかな 似たようなgemがあるけど、どっちのgemがいいんだろう? みたいなことありますよね。 先日、DraperとActiveDecoratorどっちがいいんだろう? と思って調べていたらたまたま行き着い…

Rails5.2 から 6.x にアップグレードしたときの where.not の話

Rails 5.2 から 6.0 にアップグレードしたときに出た警告 DEPRECATION WARNING: NOT conditions will no longer behave as NOR in Rails 6.1. To continue using NOR conditions, NOT each condition individually 以下略. Rails 6.1 からは where.not メソ…

rubocop-railsの存在を今更知った

Rubyの文法をチェックするRuboCopのgemについては知っていたのですが、 Railsの文法をチェックしてくれるrubocop-railsの存在を知りませんでした。 github.com きっかけは noopener リンクを別タブ/ウィンドウで開かせたい場合にHTMLのタグのrel属性に、 noo…

SimpleCovでテストの抜け漏れを防ごう

今まであまりgem simplecovをきちんと活用したことがありませんでした。 前提 Rails 6.0.3.1 Ruby 2.7.1 SimpleCov 0.18.5 RSpec 3.9 gem simplecovの導入 GitHubページを参考に導入します。 github.com # spec_helper.rb require 'simplecov' SimpleCov.sta…

開発環境におけるエラーページの表示確認方法【Rails】

前提 Rails 6.0.3.1 Ruby 2.7.1 やりたいこと 404や500エラーなどのページのデザインを開発環境下で確認したい。 設定を一つ変更すればあとはエラーを発生させればいい config/environments/development.rbにあるconsider_all_requests_localを変更すること…

http_basic_authenticate_withがNoMethodErrorになった

前提 Rails 6.0.3.1 Ruby 2.7.1 やりたいこと ステージング環境でBasic認証を導入する。 修正前のコードとエラーの内容 class ApplicationController < ActionController::Base before_action :basic_auth_in_staging private def :basic_auth_in_staging ht…

gem annotate をバージョンアップしたら動作しなくなった

前提 Ruby 2.6.5 Rails 6.0.2 gem annotate 2.7.5 → 3.1.0 gem annotate とは github.com 例えば以下のように、モデルファイルにテーブルの情報をコメント形式で作成してくれるgemです。 Class SakeBrand < ApplicationRecord # == Schema Information # # T…

Railsのi18nでラベルが日本語で表示されない

前提 Ruby 2.6.5 Rails 6.0.0 Railsガイド見ながら以下のように設定します。 # config/application.rb module AppName class Application < Rails::Application # 略 config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}'…