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
有人能幫忙嗎?
好的,謝謝!但tax_rate應屬於一個項目,而不是發票... – Tintin81 2012-03-12 11:30:56
@ Tintin81設置爲發票的訪問者,因此您可以在控制器中只設置一次,您可以在項目中讀取它,而不會存儲在數據庫中。這也可以幫助您避免網頁的大量分配。 – nolith 2012-03-12 11:37:42
@ Tintin81我完全重寫了一個解決方案,它從類中移除所有耦合。 – nolith 2012-03-13 08:24:12