hummingbird
@hummingbird

Как правильней записывать в БД связи?

Здравствуйте!

Есть таблицы news и categories. У новости может быть несколько категорий. Сейчас при добавлении новости добавляю связь таким образом:
if params[:news][:categories]
	params[:news][:categories].each do |category|
		@news.categories_news.create(category_id: category.first.to_i)
	end
end


Список категорий представляет собой чекбоксы с именем:
news[categories[тут_id_категории]]

Есть чувство, что перебирать все в цикле и тупо каждую категорию заносить в таблицу - не лучшее решение. Интересует, как наиболее правильно стоит выполнять запись связей в БД?
  • Вопрос задан
  • 122 просмотра
Пригласить эксперта
Ответы на вопрос 2
c3gdlk
@c3gdlk
Ментор в http://rubyboost.ru/
можно использовать accept_nested_attributes - https://robots.thoughtbot.com/accepts-nested-attri...
Ответ написан
Комментировать
@Sworg
Правильно, не лучшее решение.
Для начала, используйте strong_params, если уж пошли таким путем. В корректном сохранении связей Вам поможет https://github.com/plataformatec/simple_form. Там много базовых примеров для различных вариантов (чекбоксы, радиокнопки и т д).
А еще, советую посмотреть в сторону паттерна Form Object (см. гугл) и попробовать использовать его для Вашего случая.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы