0

これは MVC に違反しているように見えるので、私がやろうとしていることを説明します。

私のモデルは API を呼び出します。API の URI は params ハッシュに依存します。(params ハッシュには、Rails アプリの URL が格納されます)。

モデルに混合するモジュールを作成しました (モデルは API 呼び出しとは何の関係もないため) が、モジュールにパラメーターを取得する方法がわかりません。

可能であれば、params ハッシュでモジュールを初期化したいのですが、どこでそれを行うべきかわかりません。before_createモデルでは機能しますが、model.rbそれはパラメータについて知らないファイルにあります。

4

1 に答える 1

4

ニーズに応じて、いくつかのアイデアを組み合わせてください。

パラメータが大きく変化する場合は、各呼び出しでパラメータをモデルに渡します。クラスメソッドまたはインスタンスメソッドを実行できます-

Model.api_call params[:field]
@model.api_call params[:field]

パラメータをクラス変数としてモデルに保存します。

Model.set_parameters(params)

def self.set_parameters(params)
  @@params = params
end

# access it in methods with @@params
于 2012-12-23T09:02:46.413 に答える