4

Model.find_by_x(x) コードを ( example )から Model.find_by(x: x) ( example ) に書き直す人を見てきました 。

本当にfind_by...非推奨ですか?(いくつかの証拠/議論は良いでしょう。)このRailsのコミットは、そうであることを示唆しています。また、このコミットが変更されたActiveRecord::Base のドキュメントでは、「軽度の非推奨」であると言及されています。

抽出されたdynamic_finders gemは、そうではないと主張しています。

また、4.0 リリース ノートでは、 「find_by_... と find_by_... を除くすべての動的メソッドは非推奨です」。

4

1 に答える 1

6

Model.find_by_attributeこの回答には証拠/議論が欠けていることは承知していますが、私は、そのようなものを非推奨にする必要があることは理にかなっていると言いたかっただけです。つまり、それらをそのように扱い、たとえそれらが公式には非推奨ではありません。その理由は、これらのメソッドが魔法を行うために method_missing を通過しなければならないからです。したがって、それらはfind_by(x: y)、舞台裏で ARel: を使用するだけの使用ほど高速ではありませんwhere(x: y).take。それは役に立ちますか?

于 2013-08-31T13:17:07.140 に答える