2015-11-10 4 views
0

Я планирую создать сайт для известных животных в Интернете, индекс домашней страницы будет отображать всех животных, а на главной странице будут фильтры, чтобы фильтровать через Dogs , Кошки, Другие.Нужна помощь по созданию моделей в Ruby on Rails

Теперь, будучи новым для Rails, мне сложно определить, как создать такую ​​модель.

Если я создаю модель животных,

рельсы г название модели животных: описание строки: строка

Где точно определить «Собака или Кошка» к этому пункту?

Нужно ли добавить category_id?

рельсы г название модели животных: Описание строки: строка category_id: целое

Что делать, если я хотел пользователю добавлять/удалять/редактировать категории, а?

Я надеюсь, что кто-то может указать мне в правильном направлении.

+0

По категории, вы имеете в виду виды? –

+1

Нарисуйте свою схему на бумаге как супер-базовую диаграмму сущности. Это поможет вам в массовом порядке. –

+0

Да Породы, вероятно, будут иметь смысл. Я выложу диаграмму по вашему желанию. – anon

ответ

1

Я хотел бы предложить создать модель категории и модели животных:

class Category < ActiveRecord::Base 
    acts_as_tree 
    has_many :animals 
end 

class Animal < ActiveRecord::Base 
    belongs_to :Category 
end 

В этом случае ваше животное может быть акулой, которая также является рыба. Или может быть треска, которая также является рыбой. Если пользователь выбрал просмотр всех рыб, они увидели бы акул и треску, но если бы они решили посмотреть треску, они не увидели бы акул. Изучите «act_as_tree» для получения дополнительной информации об этом.

Должно разрешить довольно много вариантов фильтрации! Для миграции категорий вам понадобится столбец parent_id и столбец category_id для миграции ваших животных.

Смежные вопросы