Массовое обновление модели отношения has_many из модели own_to - PullRequest
1 голос
/ 20 июня 2011
class Project < ActiveRecord::Base
  has_many :pages
  attr_accessible :name, :class_name, :content, :style

  def bulk_update_pages(attributes)
    for a in attributes do
      pages.find(a['id'].to_i).update_attributes(a) if pages.exists?(a['id'])
    end
  end

end

class Page < ActiveRecord::Base
  belongs_to :project
end

Это хороший способ массового обновления страниц из проекта?Project.find(session[:ProjectId]).bulk_update_pages(params)

Ответы [ 2 ]

1 голос
/ 20 июня 2011

Думаю, вам лучше использовать вложенную форму:
http://railscasts.com/episodes/196-nested-model-form-part-1

1 голос
/ 20 июня 2011

Попробуйте установить ассоциацию на
has_many :pages, :autosave => true

"Если вы установите для параметра: autosave значение true, Rails сохранит все загруженные элементы и уничтожит элементы, помеченные для уничтожения при каждом сохранении родительского объекта". Руководство по Rails 4.1.2

http://guides.rubyonrails.org/association_basics.html

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