行動すれば次の現実

ほどよくモダンなシステム開発を目指しています。メインテーマは生産性、Ruby、Javascriptです。

Rails

ActiveModel valid?でバリデーション例外を発生させる | Rails

ActiveModelのvalid?はモデルのバリデーションを実行して真偽値を返却するメソッドですが、バリデーションエラー時に例外を発生させたいことがあったので調べてみました。 通常ならsave!やcreate!で対応できますが、Activerecord-importのBulkインサートの永…

クエリ文字列から特定のパラメータを削除したい | Ruby On Rails

クエリ文字列から特定のパラメータのみを削除する方法を説明します。 実装 uri = URI.parse('https://www.example.com?hoge=1&fuga=2&piyo=3') query = Rack::Utils.parse_nested_query(uri.query) query.delete('fuga') uri.query = query.to_param uri.to_…

Railsのカスタムバリデーションで複数項目の相関をチェックしたい

開始日と終了日を入力するシステムで、期間の大小チェックと期間の日数チェックを行いたい場合があります。 カスタムメソッドで実装するケースはよく見受けられますが、カスタムバリデーションとして使い回したい思ったので実装してみました。 ※あくまでも簡…