2012-06-11 4 views
1

У меня есть модель декларации и modelDeclarationlines. Он имеет много отношений с accepts_nested_attributes_for: деклараций. Это отлично работает, но форма декларации имеет 2 виртуальных атрибута «amount_whole» и «amoutn_decimal», которые при подаче формы объединяются в атрибут «сумма». Это работает на создание, где у меня есть это:слияние виртуальных атрибутов для accepts_nested_attributes_for

# Cycle declaration lines to merge amount_whole and amount_decimal into amount 
@declaration.dec_declarationlines.each do |line| 
    line.amount = (line.amount_whole.to_s + '.' + line.amount_decimal.to_s).to_d 
end 

Но при обновлении у меня есть это, что мешает мне объединить виртуальные атрибуты, потому что у меня нет доступа к declarationlines:

@declaration.update_attributes(params[:dec_declaration]) 

Любые идеи, как объединить виртуальные атрибуты при обновлении декларации?

ответ

1

U имеют доступ к declarationlines:

1) params[:dec_declaration][:declarationlines_attributes]

2) и можно попробовать @declaration.assign_attributes(params[:dec_declaration]), а затем @declaration.dec_declarationlines.each ...

+0

Спасибо! Это отсутствовало: @ declaration.assign_attributes (params [: dec_declaration]). Я не знал, как получить атрибуты. – John

Смежные вопросы