Дело не в том, что для каждого экрана нужно создавать модель, а наоборот.Каждую модель, для которой вам нужны интерфейсы, вы будете создавать представления.
Почему бы вам не начать с этого руководства и не начать понимать основы.
Кроме интерфейсов CRUD?Вы можете добавить файл вида непосредственно в папку вида контроллера, с которым связана эта модель.Например, если модель имеет значение post.rb в app/models
и имеет соответствующий контроллер posts_controller.rb
в app/controllers
и имеет соответствующие представления в app/views/posts
, то вы можете добавить свой вид в папку app/views/posts
с соответствующимметод в контроллере, который будет отображать это представление, при условии, что для этого есть маршрут в файле config/routes.rb
.
Скажем, я хочу добавить landing_page.html.erb
представление к сообщению.Я бы добавил метод в posts_controller.rb
(хотя это не является обязательным. Но вам может понадобиться проверить некоторые условия перед отображением представления):
class posts_controller < ApplicationController
...
def landing_page
end
end
Добавить представление в приложение / представленияКаталог / posts:
# app/views/posts/landing_page.html.erb
Добавить маршрут в файл config / rout.rb:
map.resources do
member do
get :landing_page
end
end
Теперь вы можете получить доступ к странице в http://localhost:3000/posts/:id/landing_page
.