У меня есть две модели: Product
и Category
, которые я хочу связать вместе. Скажите, что у каждого продукта есть уникальная категория, как мне настроить Rails для создания (или генерации) нового объекта Category
каждый раз, когда пользователь создает новый объект Product
?Создание двух разных объектов (из разных моделей) одновременно - Рельсы
ответ
class Product < ActiveRecord::Base
after_create do
Category.create product: self
end
has_one :category
end
class Category < ActiveRecord::Base
belongs_to :product
end
и в консоли
> a= Product.create
> a.category
=> #<Category id: 1, product_id: 5, created_at: "2015-11-04 12:53:22", updated_at: "2015-11-04 12:53:22">
Только то, что мне нужно. Спасибо! – Liroy
Прежде всего, если категория относится так много к продукту, почему бы вам не добавить его в модель продукта? Но если вы настаиваете на том, как бы вы его кодировали, вы можете использовать обратные вызовы, такие как after_create
, и писать код для создания категории. Таким образом, всякий раз, когда создается продукт, на этом пути будет создана связанная категория.
class Product < ActiveRecord::Base
has_one :category
after_create :create_category
private
def create_category
# code for creating an associated category
end
end
Примечания: Большая часть времени, мне нужно сохранить номер мобильного телефона пользователя в базе данных, и каждый пользователь имеет уникальный номер мобильного телефона - так вместо того, чтобы определить новую модель мобильного номера, я, как правило, иметь его внутри таблицы пользователей. Но если информация для мобильного номера расширяется, как его имя оператора, код страны - я бы определенно разделил его на отдельную таблицу.
Пятно на, спасибо за объяснение! – Liroy
- 1. Drools 5.5.0 Создание двух разных типов объектов
- 2. значение Списка из двух разных моделей
- 3. Объединение обязательных полей из двух разных моделей
- 4. объединение данных из двух разных моделей
- 5. Чтение двух разных файлов одновременно
- 6. Извлечение объектов из двух разных объектов
- 7. Создание «фидов» из нескольких разных моделей Rails
- 8. Создание коэфициентного графика из разных моделей
- 9. создание таблиц из разных моделей с sqlalchemy
- 10. Отношения двух объектов разных классов
- 11. Создание двух разных потоков
- 12. Создание объекта из объектов в двух разных массивах
- 13. Получение соответствующих значений из двух разных объектов
- 14. Powershell - testpath из двух разных объектов
- 15. Devise отдельный вывоз для двух разных моделей
- 16. Сравнение двух перечней разных объектов
- 17. Сравнение значений двух разных объектов
- 18. Сравнение объектов двух разных классов?
- 19. Создание двух разных случайных чисел одновременно в Scala - Spark
- 20. Сохранение объектов контроллеров для разных моделей
- 21. Создание внешнего ключа из двух разных таблиц
- 22. Создание групп из двух разных списков
- 23. Динамическое создание разных объектов из набора данных
- 24. Создание списка экземпляров из разных объектов
- 25. Обзор модели - общий для двух разных моделей
- 26. одновременно отображает два разных видеопотока
- 27. Одновременно с использованием двух разных сетевых адаптеров
- 28. Два CABasicAnimations на двух разных слоях Одновременно
- 29. Выполнение двух экземпляров Jboss разных версий одновременно
- 30. Создание двух разных объектов через один модуль Perl
вы хотите создать совершенно новую категорию с каждым новым продуктом ?? – illusionist
Точно. Благодаря! :) – Liroy
Каким должно быть название новой категории? – illusionist