Возникли проблемы при обновлении атрибута с привязанной к нему ассоциацией - PullRequest
0 голосов
/ 02 октября 2010

У меня здесь две модели: Package и Status

Пакет belongs_to Статус

Статус has_many пакетов

Итак, моя модель пакета имеет столбец status_id

В моем контроллере Packages у меня есть этот метод (который получает данные из вызова ajax POST):

def edit_status
  @status = Status.find_by_name(params[:status])
  Package.update(params[:id], :status_id => @status.id)
end

Но это странно ... Я не могу status_id обновить, чтобы спасти мою жизнь. Если я заменю столбец status_id для любого другого столбца в записи (например, from_name), он будет работать нормально.

Мне кажется, что я принимаю сумасшедшие таблетки здесь, но есть идеи, почему это может не сработать?

Ответы [ 2 ]

0 голосов
/ 02 октября 2010

Вам может понадобиться это в комплектации:

accepts_nested_attributes_for :status, :allow_destroy => true

Больше информации здесь: http://ryandaigle.com/articles/2009/2/1/what-s-new-in-edge-rails-nested-attributes

0 голосов
/ 02 октября 2010

Может быть проблема с проверкой. Я бы сделал «найти», затем «update_attributes», который вернет «ложь», сообщив, если запись недействительна.

...