У меня есть проект Rails. Я разбираю файл .xls с помощью roo и помещаю информацию в реляционную базу данных. Как я могу вернуть эту связь, если ruby не использует внешние ключи? Предположим, что у меня есть таблица Category и Subcategory, я читаю строку в файле .xls и записываю информацию в базу данных. Категория имеет много подкатегорий. Но может существовать существующая категория (поэтому мне не нужно добавлять ее снова). Как использовать консоль rails? Я использую что-то вроде a = Category.new(name_category: "test")
. Это должно создать категорию, но она не связана с подкатегорией. Как добавить и связать их вместе в одной команде? Что делать, если подкатегория имеет элемент. Как мне создать что-то, связанное с тремя отношениями?Создание объектов с отношениями в консоли Rails
ответ
Не делайте этого в одной команде. Сначала вам нужно «найти или создать» категорию.
category = Category.find_or_create_by_name(name: "test")
Subcategory.create(name: "foo", category: category)
Ваши модели должны выглядеть следующим образом:
class Category < ActiveRecord::Base
has_many :subcategories
end
class Subcategory < ActiveRecord::Base
belongs_to :category
end
Спасибо. Думаю, я могу сделать это сейчас! – andrefurquin
Я получаю эту ошибку: ActiveModel :: MassAssignmentSecurity :: Ошибка: не могу назначить защищенные атрибуты: категория. – andrefurquin
Ahh, вам также нужна эта линия в вашей модели подкатегории: 'attr_accessible: подкатегория' – ndbroadbent
- 1. Rails отношение с отношениями
- 2. Джанго - Создание объектов с отношениями m2m при сохранении формы
- 3. ExpressionEngine - Создание подменю с отношениями
- 4. Rails HABTM с полиморфными отношениями
- 5. Вывод объектов с отношениями в json
- 6. Rails 3 создание вложенных объектов
- 7. Создание dropdownlist с отношениями в yii
- 8. Создание пользователя из команды консоли rails?
- 9. Извлечение объектов из nsfetchedresultscontroller с нулевыми отношениями
- 10. Удаление объектов с отношениями «один ко многим»
- 11. Использование automapper для обновления объектов с отношениями
- 12. Android: Создание базы данных SQLite с отношениями
- 13. Создание экземпляра красноречия с несколькими отношениями?
- 14. Rails экспорт и импорт объекта с отношениями
- 15. Rails to_json со всеми отношениями
- 16. Rails 3: метод делегация с нулевыми отношениями
- 17. Rails - Связывание двух моделей с has_many отношениями
- 18. Rails 5 RESTful API с расширенными отношениями
- 19. Как управлять отношениями n: n с Rails?
- 20. Rails Minitest с отношениями не работает
- 21. Rails 4.1 scope метод с отношениями
- 22. Создание тестовых данных PostgreSQL с отношениями?
- 23. Doctine ORM: Автоматическое создание/обновление с отношениями
- 24. Sqlite on rails проблема с отношениями
- 25. Rails: найти записи с HAS_ONE отношениями
- 26. Создание консоли в Java
- 27. Создание объекта activerecord с новыми отношениями из запроса select
- 28. Как загрузить файл объектов страниц в консоли rails?
- 29. Rails - поиск в консоли
- 30. NoMethodError в Rails консоли
Это действительно зависит от ваших .xls файлов. Содержит ли они subcategory_id или что-то похожее на привязку объекта к другому? – MrYoshiji
да, имейте это в виду. @MrYoshiji – andrefurquin
Мне нужна команда, которая будет работать так. Даже это не работает. Category.create (name: "test"). Subcategory.create (name: "foo"). Я знаю, что это не сработает. Создайте отношения в коде, чтобы рельсы знали, что они связаны. Может быть, я не уверен. – andrefurquin