0

モデル プロシージャとオプションには HABTM 関係があり
ます。モデル クォートは、最初の 2 つのテーブルのパラメータに基づいて、複数ステップの形式で価格を作成します。

ステップ 1 でプロシージャーを照会し、ヘルパー ファイル (またはモジュール) が関連データを抽出します。

def quote_procedure
  procedure = Procedure.where(['id = ?',params[:quote][:procedure_id]]).first
end

さまざまな計算が実行され、関連するすべてのオプションが特定されます。この時点で、for_each 関連オプションの計算を実行したいと思います。ただし、それらはパラメータ化されておらず、テーブル Quote の格納された値ではありません。@なし、パラメータなし...

オプション テーブルから関連データを処理するための適切な構文が見つかりません。ヘルパーから (計算を実行する必要があるため、最終的にはモジュール):

def quote_option
  option = Option.where(['id = ?', self.id])
end

def my_calculation
  (quote_option.sum_operational_costs / quote_option.procedure_speed) * params[:quote][:quantity]
end

ただし、コントローラーの場合

  @options = Option.where(['procedures_options.procedure_id = ? AND option_type_id = ?',     params[:quote][:procedure_id], 1]).joins(:procedures)

ビューでヘルパー メソッドを使用して結果を生成します (最後のメソッドを除くすべて)。

<%= (global.speed_setup_intercept + (globale.speed_setup_factor * surface)) * options.print_speed %>

しかし、ヘルパーメソッドを介してそれを取得することはできません. 問題のある提案は、

options.print_speed

undefined methodエラーを生成します

4

0 に答える 0