Классы и модели в ruby on rails

#ruby #model-view-controller #ruby-on-rails-5

#рубиновый #модель-представление-контроллер #ruby-on-rails-5

Вопрос:

Создание классов и создание моделей — это одно и то же. Например, если бы мне нужно было создать класс продукта, значит, я должен создать модель продукта для того же самого?

Комментарии:

1. Вы имеете в виду, должен ли каждый класс в models папке иметь таблицу базы данных? Нет, это не так. Или ты имеешь в виду что-то другое?

2. Мне нужно импортировать csv-файл в этот класс, прочитать этот csv-файл и создать с его помощью статьи, и у меня есть модель статьи с таблицей статей в БД.

3. Было бы прекрасно иметь, например, CSVImporter класс (чистый Ruby), который не имеет таблицы базы данных (не наследуется от ApplicationRecord ), но вместо этого выполняет все, что необходимо для импорта CSV-файлов в Product модель. Я все еще не уверен, понимаю ли я ваш актуальный вопрос. Не могли бы вы подробнее рассказать о проблеме, которую вы пытаетесь решить?

4. У меня есть блог post, в котором есть таблица заголовка и содержимого db, теперь я хочу добавить класс, который будет импортировать и экспортировать csv-файл для меня. При импорте он будет считывать данные из файла и отображать post, а при экспорте — экспортировать данные post.

Ответ №1:

Да, если вам нужен класс продукта, вы создаете модель продукта. Как только вы создали модель продукта, класс продукта становится доступным.

Комментарии:

1. Я должен импортировать csv в product, и после импорта я должен поместить данные csv-файла в другую таблицу. Как это реализовать.

2. Вы должны принять ответ, если он отвечает на ваш вопрос. Не задавайте другой вопрос..

Ответ №2:

Модель — это немного более сложная сущность, чем просто класс. Модель в rails — это представление активной записи. Вот его содержимое:

Active Record предоставляет нам несколько механизмов, наиболее важным из которых является возможность:
Представлять модели и их данные.
Представляют ассоциации между этими моделями.
Представляют иерархии наследования через связанные модели.
Проверяйте модели, прежде чем они будут сохранены в базе данных.
Выполняйте операции с базой данных объектно-ориентированным способом.

Чтобы создать порядок, вам нужно будет создать таблицу (rails использует миграции для этого случая) и класс модели в этом примере product . Для достижения этой цели вы можете использовать генераторы rails, следующие действия создадут как модель, так и миграцию

bin/rails generate model Product name:string description:text

дальнейшее чтение.
Генераторы активных моделей записей