В моем приложении Rails у меня есть две модели, Estimate
и Client
, каждая из которых имеет отношение belongs_to
к State
(как в штатах США).
Если я создам простой хеш, как это:
properties = {:state => State.first}
... Я могу собрать клиента в консоли Rails следующим образом:
c = Client.new(properties)
... и он показывает state_id
из 1
, как и ожидалось.
Однако , если я попробую то же самое с оценкой, как это:
e = Estimate.new(properties)
... он никогда не устанавливает state_id
, поэтому я не могу сохранить ассоциацию.
Таблицы для Estimate
и Client
имеют идентичные столбцы state_id
(int 11
). Ассоциация такая же. Объект State
такой же.
Что может быть причиной этой разницы?
Обновление
Эта проблема была attr_accessible
, как указал Миша. Еще одним симптомом, который мы обнаружили, было то, что Estimate.state = State.first
вернул NoMethodError: undefined method state=