Я новичок в рельсах, и в настоящее время я нахожусь в процессе разработки приложения контрольного списка. Я был бы очень признателен за некоторые рекомендации, так как в настоящее время я погружен в свой процесс разработки и просто хотел бы помочь мне в этом.
Цель:
Администраторы будут иметь права добавлять коллекции и добавлять продукты в эти конкретные коллекции (все они будут предварительно заполнены и определены до того, как сайт будет запущен).
Пользователи должны зайти на домашнюю страницу, получить всплывающую страницу о том, что это за страница, и иметь возможность войти / зарегистрироваться. После входа в систему пользователь должен быть направлен на страницу своего профиля.
а.) В первый раз им должен быть представлен список коллекций, за которыми они хотят «следить» / «посмотреть» (которые отображаются на странице их профиля, чтобы отследить товары, которых они пропали из всей коллекции)
б.) Во второй раз им должны быть представлены коллекции, которые они смотрят, и все продукты в этой коллекции.
Оказавшись на странице своего профиля, они должны иметь возможность "проверять" и "снимать отметки" с товаров в коллекции. Я хочу показать все продукты в коллекции, независимо от того, есть они у них или нет, и они могут проверить те, которые у них есть, и я сделаю некоторые модные вещи на лицевой стороне, чтобы сделать их визуально привлекательными. (исчезать с черного / цветного - на значение true / false - анимировать все выделенные элементы перед контейнером..ect)
Что у меня есть:
У меня настроены модели ассоциации Collection (has_many) -> Products (own_to). У меня есть оба контроллера CRUIDified, и страница продукта CRUIDified через ассоциацию с коллекцией. (вложенные маршруты / @ collection.products.build и т. д.)
У меня есть созданная модель Devise User с подтверждением по электронной почте. Я дал этой модели ассоциацию User (has_many) -> Collections (own_to).
Мои следующие шаги?
Я пытаюсь назначить пользователя на страницу профиля, на которой я могу отображать результаты своих коллекций / продуктов. Я застрял в том, как этого добиться. Нужно ли создавать пользовательский контроллер, ставить before_filter :authenticate_user!
и ограничивать действия, которые я не хочу делать доступными для обычных пользователей? Или мне нужно сгенерировать новый профиль модели и поместить туда связь?
Если вы хотите увидеть мой текущий код, его можно найти здесь:
https://github.com/gogogarrett/Blind-Boxd
Заранее спасибо,
Garrett