9

'File'というモデルを作成したいのですが、予約済みのモデル名はrailsです。モデルを呼び出すのに正気なことは他に考えられないので、この問題に対処する標準的な方法があるかどうか疑問に思いました。たとえば、プレフィックスまたはサフィックス(_File、FileItemなど)を追加しますか?

4

1 に答える 1

8

この問題はモジュールで対処されます:

モジュールは、メソッド、クラス、および定数をグループ化する方法です。モジュールには2つの大きな利点があります。

  1. モジュールは名前空間を提供し、名前の衝突を防ぎます。
  2. モジュールはミックスイン機能を実装します。

[...]

モジュールは名前空間を定義します。これは、他のメソッドや定数に踏まれることを心配することなく、メソッドや定数を再生できるサンドボックスです。

あなたの場合:

module MyRailsApp
  class File
  ...
  end
end

これにより、Fileクラスはとして使用されMyRailsApp::Fileます。これはRubyの典型的なソリューションです。RubyonRailsでは、これは別の方法で処理される可能性があります。詳細については、次のリファレンスを参照してください。

于 2012-08-06T00:17:15.390 に答える