Rails

ActiveRecord の dup の挙動

ひとことで言うと、 ActiveRecord には dirtry な attribute を追跡するための便利なメソッド群が定義されていますが、dup とともにこれらを扱うときには要注意ですよ、というお話です。 _was とか _changed? は便利 dirty な attribute を追跡するってのは…

Rails で content-type が application/json などの場合、MethodOverrideが効かない件

背景 Rails には MethodOverride の仕組みがあって、これはなにかっていうと、HTTP method が POST の場合でも _method=PUT とかそういうパラメーターを付けてリクエストしてあげると Rails のレイヤーではそのリクエストを PUT として扱ってくれるやつです…

レールルで Controller から ActiveRecord を生で触るのをやめたい話

単純な操作ならいいんだけど、複数テーブルに対してごにょっと操作をして、それがアトミックでなくてはならなくて、みたいなときの話。 単純な複数テーブルに対する操作なら多分主従の関係みたいなのあると思うしそういうときには主のほうを表すARを継承した…

ActiveRecord の named_scope に by_<column_name>みたいな名前つける人間は腹を切って死ぬべき……だよね?

最近仕事で ActiveRecord ばかり触ってるのでその話題 ActiveRecoedには named_scope という便利な機能があって、これはまあ動的にクエリを組み立てるのに便利で良いよねって話がまあよくありますね。その話をします 最初に、Railsの嫌なところの愚痴 クエリ…