Как установить значение по умолчанию на основе current_user? - PullRequest
0 голосов
/ 12 марта 2012

Я хотел бы установить значение по умолчанию на основе Пользователь , создающего его, и мне интересно, как это сделать:

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

Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 12 марта 2012

Вы можете передать атрибуты методу build, чтобы вы могли удалить after_initialize ed, редактировать контроллер:

def create
  @invoice = Invoice.new(params[:invoice])
  3.times { @invoice.items.build( :tax_rate => current_user.tax_rate }
  ...
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...