0
對Ruby來說很新,我在執行某些邏輯時遇到了問題 我有很多日期(生效日期和到期日期)。 我也有2個對象。原始對象和新複製對象(它是原始副本)Ruby - 片數組和複製日期值
我想遍歷每對日期,並檢查orignal對象日期字段以查看ti是否有任何日期字段。如果它確實有日期,然後我到:
- 使用原始對象到期日爲新的對象生效日期
- 默認情況下,新對象截止日期到新的生效日期+1年
這裏是我的代碼,我得到這個錯誤:
undefined method `id' for nil:NilClass
CODE:
DATE_FIELDS = [:agency_effective_on, :agency_expire_on,
:field_effective_on, :field_expire_on,
:product_manager_effective_on, :product_manager_expire_on,
:officer_effective_on, :officer_expire_on,
:regional_officer_effective_on, :regional_officer_expire_on]
@copy_to = @copy_from.dup
DATE_FIELDS.each.slice(2) do |field|
if [email protected]_from.send(field[0].to_sym).nil? #if the ORIGNAL date is not nil
#copy it to the new Objects dates
@copy_to.send("#{field[0]}=".to_sym, @copy_from.send(field[0]))
@copy_to.send("#{field[1]}=".to_sym, @copy_from.send(field[1]).to_date + 365)
end
end
你的代碼是否有效?這段代碼似乎無效: 'DATE_FIELDS.each.slice(2)do | field |' –
這是無效的嗎?我在那裏犯了一個錯誤? – user3437721
它應該是each_slice我認爲,我將不得不糾正,並在我的邏輯工作.. – user3437721