Rails3 - несколько моделей в одной форме - это правильный способ сделать это? - PullRequest
0 голосов
/ 21 сентября 2011

Я портирую php-приложение на Rails 3 и у меня есть вопрос о многомодельной форме и о том, как я обновляюсь.

У меня есть форма со следующими значениями:

menu_header[2][name]="bar menu sub menu"
menu_header[3][name]="bar menu sub menu2"
menu_header[4][name]="bar menu sub menu 3"

через параметры в логе:

  "menu_header"=>{"2"=>{"name"=>"bar menu sub menu"}, "3"=>{"name"=>"bar menu sub menu2"}, "4"=>{"name"=>"bar menu sub menu 3"}}

они публикуют метод, который делает:

params[:menu_header].each do |key, item| 
  @menu_header=MenuHeader.find(key)
  @menu_header.update_attributes(item)
end

Это работает, но мне кажется, что обновление выглядит ужасно. Есть ли другой / лучший способ сделать это?

ТНХ

1 Ответ

0 голосов
/ 21 сентября 2011

Если вы хотите улучшить внешний вид вашего кода обновления, вы можете переписать его на:

params[:menu_header].each { |key, item| MenuHeader.find(key).update_attributes(item) }

Примечание: здесь обсуждается обработка нескольких объектов в рельсах: Несколько объектов в форме Rails

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