Условный root_url (индекс) - PullRequest
       8

Условный root_url (индекс)

3 голосов
/ 05 февраля 2010

Мне бы хотелось, чтобы мое приложение отображало разные данные на главной странице в зависимости от того, вошел ли пользователь в систему или нет.

def index

  if current_user
    # render another controllers action
  else
    # render another controllers action
  end

end

Я могу добиться этого, используя render_component. Однако это было устаревшим в течение некоторого времени. Хотя я все еще могу использовать его как плагин, мне интересно, есть ли у кого-нибудь лучший подход. Просто помните, что визуализация представления другого контроллера напрямую не возможна.

Спасибо.

Ответы [ 2 ]

3 голосов
/ 16 августа 2010

Просто используйте ваш метод index в качестве публичного прокси для определенного представления, которое вы хотите визуализировать.

def index
  if user?
    logged_in
  else
    logged_out
  end
end

private

def logged_in
  # stuff
  render :action => "logged_in"
end

def logged_out
  # stuff
  render :action => "logged_out"
end    
1 голос
/ 05 февраля 2010

Если это относительно небольшой подраздел данных, я бы, вероятно, сделал это в помощнике вида.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...