HashWithIndifferentAccess при сохранении массива объектов - PullRequest
1 голос
/ 25 февраля 2010

Хорошо, у меня есть эти 2 класса

class Interface < ActiveRecord::Base
  belongs_to :hardware      
end

и

class Hardware < ActiveRecord::Base
  has_many :interfaces
end

У меня есть форма для предопределенного @hardware.interfaces, которая включает в себя массив интерфейсов, который обрабатывается, как показано ниже

<%= text_field_tag "hardware[interfaces][][name]",interface.name %>
<%= text_field_tag "hardware[interfaces][][ip]",interface.ip %>

Теперь я пытаюсь сделать ...

@hardware = Hardware.find(params[:id])
@hardware.update_attributes(params[:hardware]) 

и выдает ошибку

Interface(#37298420) expected, got HashWithIndifferentAccess(#24204840)

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

1 Ответ

2 голосов
/ 25 февраля 2010

update_attributes обновляет атрибуты модели .. и вы пытаетесь обновить другие атрибуты модели (класс Interface)

вы хотите использовать вложенную форму & accepts_nested_attributes_for - вы можете увидеть, как в этом руководстве

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...