Я хотел бы знать, как лучше всего это сделать.Я читал Руководства Rails по макетам, но я немного озадачен этим.
У меня есть контроллер пользователей и контроллер сессий.Контроллер пользователей используется для «регистрации», а контроллер сеансов - для «входа».Оба этих контроллера отображают один и тот же макет для входа в систему и регистрации (accounts.html.erb).
После того, как они вошли в систему, я хочу создать другой макет для всего, что происходит при входе в систему (приложение.html.erb).Моя проблема в том, что в контроллере Users у меня есть действие «show», которое представляет собой профиль пользователя, который можно просматривать только тогда, когда пользователь вошел в систему, но это действие «show» использует макет accounts.html.erb из-за«создать» и «новые» действия.Я хочу, чтобы действие 'show' использовало application.html.erb, а остальные действия здесь использовали для account.html.erb.Должен ли я использовать шаблонное наследование для такого рода вещей или как правильно поступить с этим типом вещей?
Возможно, некоторый код также поможет:
class UsersController < ApplicationController
layout 'accounts'
def show
@user = User.find(params[:id])
@title = @user.name
end
def new
@user = User.new
@title = "Sign up"
end
def create
@user = User.new(params[:user])
if @user.save
sign_in @user
flash[:success] = "Welcome"
redirect_to @user
else
@title = "Sign up"
render :action => "new"
end
end
end