0
私はそれを作成ユーザーに基づいてデフォルト値を設定したいと私はそれを行う方法を疑問に思う:current_userに基づいてデフォルト値を設定する方法は?
class Item < ActiveRecord::Base
belongs_to :invoice
after_initialize :default_values
...
private
def default_values
self.tax_rate = current_user.tax_rate || 0
end
end
問題は、私はモデルの内側にCURRENT_USERを使用することができないということです。
これは私が私のコントローラに持っているものです:
def create
@invoice = Invoice.new(params[:invoice])
3.times { @invoice.items.build }
...
end
誰も助けることができますか?
を[OK]を、ありがとう!しかしtax_rateは請求書ではなくアイテムに属している必要があります。 – Tintin81
@ Tintin81は請求書へのアクセサーとして設定されているので、コントローラーで一度しか設定できないので、Itemで読み取ることができます。データベースに格納することができます。これにより、Webページからの一括割り当てから救うこともできます。 – nolith
@ Tintin81私はクラスからすべてのカップリングを削除するソリューションを使って答えを完全に書き換えました。 – nolith