0

ActiveRecord::AttributeAssignment.assign_attributes(new_attributes, options) とは異なる動作が必要です。

Web アプリケーション全体で、new_attributes を評価 [および頻繁に上書き] したいと考えています。(レールフォームの命名規則に従わないサードパーティの UI ウィジェットをサポートするためにこれを行いたい)。これは少し面倒かもしれませんが、呼び出しがサードパーティのフォームから来た場合にのみアクティブ化するパッチを作成できます。

私はパッチを書いており、通常の動作を上書きできます。ただし、パッチ内から元のメソッドを呼び出すことができるかどうか疑問に思っていますか?

もちろん、元の assign_attributes を切り取ってパッチに貼り付けることができます。より良い方法はありますか?

4

2 に答える 2

0

alias または alias_method でうまくいくはずです 。about.com の Ruby を参照してください。

于 2012-06-26T06:11:30.780 に答える
0

alias_method_chainこの正確な状況のために存在します。

これは常に正しい選択ではありませんが、適切なユース ケースがある場合はうまく機能します。

于 2012-06-26T06:23:10.737 に答える