Railsのform_forとform_withの違いを調べてみた

これは、「フィヨルドブートキャンプ Part 2 Advent Calendar 2023」の19日目の記事です。 昨日の記事は、machidaさんの「[文字起こし] TokyuRuby会議 14 で Tokyu.rb のロゴを作った話の LT をしました」とpenoさんの「Ruby のメソッドのソースコード(C言…

Railsのvalidatesメソッドでallow_blankを利用するときに気をつけること

Railsのバリデーションには共通オプションの allow_blank があります。 allow_blank は属性値が blank? の場合にバリデーションがパスされるものです。 validates メソッドにこのオプションを利用した際に、意図しない結果が出ました。原因はオプションの扱…

定数をネストで参照しなかったので無限ループが発生した

以前、自作Gemでこんなコードを書いてたら、SystemStackErrorが発生しました。 module Exfuz class Queue def initialize @data = Queue.new end end end queue = Exfuz::Queue.new 4行目に代入するオブジェクトのクラスQueueはThread::Queueのつもりで書い…

Excelを曖昧検索できるgem「exfuz」をリリースしました

複数のExcelファイルを、fzfやpeco等のfuzzy finderツールを用いて曖昧検索ができるgem「exfuz」をリリースしました! 目次 gemの概要 開発した経緯 使い方 初期画面 曖昧検索画面 使用技術とシステム構成 技術選定 苦労した点 直近で対応したいこと 最後に …

フィヨルドブートキャンプ内で「1分間スピーチ会」を開いてみた

これは、「フィヨルドブートキャンプ Part 2 Advent Calendar 2022」の23日目の記事です。 昨日の記事は、@uchihiro04さんの「VSCodeのパッケージ不適合によるエラー解決までの道のり(Byebug編)」です。発生したエラーに対して、諦めずに検証を繰り替えし…

RailsのPathヘルパーを誤用してdeviseにハマった

はじめに タイトル通りです。 deviseを使って認証機能を実装する際に、Pathヘルパーを誤用していたため、devise周りの機能がバグってしまいました。 この記事では、deviseでバグが発生した原因とその修正方法をまとめました。 また、何故deviseで期待した挙…

「getter,setter (attr)」と 「インスタンス変数の直接アクセス」を比較してみた(書き方編)

はじめに こんにちは、Webエンジニアを目指してフィヨルドブートキャンプ(FBC)で学習をしてますwataです。 ここ最近は、FBCのカリキュラム以外にも、リファクタリング本 *1 *2を学習中です。 リファクタリング本には、対立関係の項目が目立ちます。例えば…

2022年の抱負

はじめに こんにちは! フィヨルドブートキャンプで学習中のwataです。 最初のブログを投稿してから日が経ちすぎたので、ブログを書こうかなと思い立ったのですが、ネタが中々思いつかないこの頃です。 私事ですが、今年の3月末に新卒で入社したSES企業を退…

リファクタリングの奨め

はじめに こんにちは〜! フィヨルドブートキャンプ現役生のwataと申します。 これは、「フィヨルドブートキャンプ Advent Calendar 2021」の18日目の記事です。 フィヨルドブートキャンプ Part 1 Advent Calendar 2021 - Adventar フィヨルドブートキャンプ…