0

私はレールが初めてです。モデルからデータを取得してビューに表示するコントローラーのインスタンス変数を理解しています。ただし、インスタンス変数をモデルに送信するにはどうすればよいですか? 変数に対して計算を実行し、モデルによって更新されたビューに送り返したいと考えています。

4

1 に答える 1

0

コントローラー インスタンス変数をメソッド引数としてモデルに渡すだけです。次に例を示します。

# model
class MyModel < ActiveRecord::Base
  def run_computations var1, var2
    # perform complex computations
    [var1 * 2, var2 * 3]
  end
end


# controller
class MyController < ApplicationController
  def my_action
    @var1 = 10
    @var2 = 20

    @var1, @var2 = MyModel.run_computations @var1, @var2
    # MyModel.run_computations returns an array. The line above is a shortcut for
    #   picking the array apart. It is equivalent to this
    # arr = MyModel.run_computations @var1, @var2
    # @var1 = arr[0]
    # @var2 = arr[1]
  end
end
于 2012-10-21T15:50:54.007 に答える