Rails делает вашу жизнь по-настоящему легкой, если вы можете спокойно думать о своем приложении.Всякий раз, когда вам нужно создать новую функциональность, подумайте о том, что делает пользователь.Сосредоточьтесь на «существительном».
- Показываете ли вы список вещей, возможно, отфильтрованных или отсортированных?: индекс
- Показываете ли вы вещь, которая является одной из многих?Или только один?: показать
- Нужно ли пользователю создавать что-то новое?Это не всегда означает сохранение в базу данных.Отобразите его в : новый и поместите результат в : создать
- Изменяет ли пользователь какую-либо вещь?PUT to : обновить .Есть ли вид вещи или страницы до ее изменения?Используйте : edit
- Что-то удаляется?: удалить
Если вас это смущает, не зацикливайтесь на разнице между : index и : show .Поместите свою функциональность в : индекс , чтобы начать, и вы узнаете, нужно ли ее переместить в : показать .
Также узнайте о различиях между обычнымиРесурс RESTful и отдельный ресурс - иногда (как в случае с Dashboard) может иметь смысл использовать resource :dashboard
, а затем добавить функциональность в действие :show
.
Познакомьтесь с http://guides.rubyonrails.org/routing.html, и не забудьте рассмотреть немодельные "вещи", даже если они не являются моделями.
В ВАШЕМ СЛУЧАЕ: Выесть три типа пользователей и панель инструментов.Вы можете представить пользователя и его роль в качестве моделей и сохранить эту информацию в сеансе (user_id).Затем, когда пользователь посещает /dashboard
, он видит свое собственное представление (отображается в dashboard#show
) на основе объектов User и Role.