Цель состоит в том, чтобы создать представления для данного класса, которые персонализированы для данного пользователя. Модель и логики контроллера c остаются прежними, но макет и представление записи будут зависеть от предпочтений пользователя.
Учитывая уникальность User.id, легко можно создать application_controller logi c для использования макет с этим id
.
layout = @user.layout
Макет сможет вызывать свои персонализированные CSS.
Но что насчет представлений? а маршрутизация? Учитывая класс Product
, как
resources :products
может вызывать подкаталог app/views/products
, чтобы использовать подкаталог идентификатора пользователя, скажем,
app/views/products/10
Таким образом, приводя к структуре файлов
app/views/products/10/show.html.erb
app/views/products/10/edit.html.erb
app/views/products/10/index.html.erb
app/views/products/11/show.html.erb
app/views/products/11/edit.html.erb
app/views/products/11/index.html.erb
app/views/products/12/show.html.erb
app/views/products/12/edit.html.erb
app/views/products/12/index.html.erb