Techioz Blog

Rails のどこにコード スニペットを配置するか?

概要

POST の署名を生成するコード スニペットがあります。その詳細は重要ではありませんが、私が知りたいのは、これはモデル関連のコードの塊ではないため、コントローラー、モデル、ビュー ヘルパーなど、どこでも使用できるということです。ビューでも。そのため、ある場所に設置した後、どこでその使用を有効にするかがわかりません。さらに大きな問題は、その使用を有効にする方法です。

これらの「require」ステートメントの意味は何ですか?現在作業しているファイルの「require」ステートメントを通じて、いくつかの機能を取得できるということですか?

例として説明するために、たとえば、立方体演算を行う小さなコードのスニペットを用意します。

def cube_it(num)
  num**3
end

アプリケーション全体のさまざまな場所で使用することはわかっていますが、どこに配置すればよいでしょうか?それを使用する必要がある場合、どうすればそれを「召喚」できますか?

ありがとう

解決策

コードを lib/math.rb の Math という名前のモジュール内に置くことをお勧めします。

module Math
  class << self
    def cube_it(num)
      num*3
    end
  end
end

これには require ステートメントは必要なく (Rails が自動的に実行します)、Math.cube_it(“Hi”) で簡単に呼び出すことができます。

Rails アプリケーションにコードを追加する方法は他にもありますが、これが最良の方法です。