Давно мучает один вопрос, который наконец я готов задать :)
Итак, смотрите:
1) есть моделька подобного вида:
class AccountingData < ActiveRecord::Base
set_table_name :accounting_data
belongs_to :parameter, :class_name =>
'ServiceParameter', :foreign_key => 'service_paremeter_id'
belongs_to :service, :class_name =>
'AccountOrderService', :foreign_key => 'account_order_service_id'
end
2) есть код:
s = AccountOrderService.last
p = ServiceParameter.last
d = AccountingData.new(:parameter => p, :service => s)
>> d.parameter
=> #<ServiceParameter id: 8, ...>
>> d.service
=> #<AccountOrderService id: 244, ...>
А дальше собственно вопрос:
>> d.account_order_service_id
=> 244
>> d.service_parameter_id
=> nil
И поэтому d.save() выдает:
ActiveRecord::StatementInvalid: Mysql::Error: Column
'service_parameter_id' cannot be null: INSERT INTO `accounting_data`
(`account_order_service_id`, `service_parameter_id`, `time`,
`is_processed`, `unix_time`, `value`) VALUES(244, NULL, NULL, 0, NULL,
NULL)
P.S. Замечу, что если включить Hirb, видим все поля объекта, где
service_parameter_id = nil, но появилось ещё одно поле:
service_parameter_id = 8 ! Дада, называется именно так же
ЧЯДНТ? :(
--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror2ru@googlegroups.com
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru
Комментариев нет:
Отправить комментарий