4

グローバルな参照透過ユーティリティ メソッドを貼り付ける場所が必要です。これらは、レールのどこからでもアクセスできる必要があります (モデル、ビュー、コントローラー、およびその他の場所)。例えば:

bool = GlobalUtilities.to_bool "false"
unicorn = GlobalUtilities.make_me_a "unicorn"

これを行う最善の方法は何ですか?

4

2 に答える 2

12

いつでもこれらを貼り/lib付けて要求することができます。ブリッカーの答えを参照してください。これらのモジュールを からロードするように要求できますapplication.rb。これにより、どこからでもアクセスできるようになります。

参照: Rails lib ディレクトリ

于 2012-09-06T22:00:24.387 に答える
3

私は、あなたが達成したいと望んでいる動作ごとにわかりやすい名前の付いたファイルを作成し、それらを /lib (または、できればエンジン) に集めます。次に、拡張したいクラスに必要な機能を混ぜます。たとえば、説明したシナリオでは、parse_booleanメソッドを に直接追加できますString。かなり滑らかなもの。

/lib/add_parse_boolean_to_string.rb

class String

  def parse_boolean
    self == 'true' # or whatever...
  end

end
于 2012-09-06T23:54:32.903 に答える