Я новичок в rails и у меня есть вопрос, касающийся макетов и маршрутизации в CMS. Я не нашел ответа на этот конкретный вопрос после поиска в Интернете, поэтому я надеюсь, что кто-то здесь сможет мне помочь.
Я создаю CMS и мне нужны макеты, application.html.erb (по умолчанию), которая является передней общедоступной страницей, и admin.html.erb , которая доступна после вход в систему.
У меня есть ресурс с именем Post . Возможно ли, что только представление представления использует макет по умолчанию, в то время как остальные представления используют макет администратора?
Другими словами, я хочу, чтобы URL-адреса отдельных сообщений были похожи на «myAppDomain / posts / 1» и использовали макет по умолчанию
в то время как административные представления должны иметь префикс / admin и использовать макет администратора,
как "myAppDomain / admin / posts", "myAppDomain / admin / posts / 1 / edit"
Теперь я настроил маршрут, который «добавляет» / admin к URL-адресам сообщений
scope "/admin" do
resources :posts
end
А в PostsController я указываю использовать макет админа
class PostsController < ApplicationController
before_filter :authorize , :except => [:show]
layout 'admin'
...
Так что теперь люди могут читать сообщения без входа в систему, но ссылки на один просмотр сообщений на моей странице приветствия отображаются как «myAppDomain / admin / posts / 1» и использует макет администратора
<%= link_to post.title, post %>
Есть ли способ использовать разные макеты и маршруты для отдельных видов для ресурса или мне следует использовать другой подход?