0
...入れ子になったフォームアイテムで計算を実行するにはどうすればよいですか?
class Invoice < ActiveRecord::Base
has_many :items
accepts_nested_attributes_for :items
...
end
class Item < ActiveRecord::Base
belongs_to :invoice
def self.total
price * quantity
end
...
end
...と新しい請求書レコードとその関連アイテムを作成するネストされた(!)の形を私はRailsのにかなり新しいですし、私は、これらの二つのモデルを持っています。
しかし、私はこれらの項目について計算を実行することは非常に困難であることがわかります。例えば、各項目の横に、上記のtotal
メソッドを使用してこの項目にtotal
を入れたいとします。
残念ながら、動作しません。私のコントローラから派生し
<%= @invoice.items.amount %>
:私のフォームでは、私はこれは、各項目の横に置く
def new
@invoice = Invoice.new
3.times {@invoice.items.build}
end
それはというエラーを投げ続けundefined local variable or method price
私はここで何をしないのです??
ありがとうございました。
ありがとうございますが、私は2つのモデルに投稿するネストされたフォームで動作するようにはできません。あなたが言ったように私が定義したにもかかわらず、メソッドtotalがないことを私に伝え続けます。 – Tintin81
合計を呼び出そうとしているオブジェクトを表示するようにOPを編集してください。 – TheDelChop
OK、おそらく、問題をよく説明していないでしょう。私はちょうど私の質問[ここ]を再投稿しました(http://stackoverflow.com/questions/9505453/how-to-call-a-method-on-an-object-in-a-nested-form-in-rubyレール3)。 – Tintin81