2013-02-21 5 views
3

В настоящее время я показываю пользователям диалог, если они не следуют никому в моем приложении, но я хочу показать это только в том случае, если пользователи впервые заходят в систему? Всякий раз, когда новые пользователи регистрируются в первый раз, они не следуют никому, поэтому в их фиде нет сообщений, поэтому он показывает диалог. Я достичь этого, используя следующий код:Показывать диалог при первом обращении к пользователям

<% if @posts.any? %> 

Я хотел показать диалог на пользователей первого входа в систему, а затем он никогда не появится снова. Я знаю, что Deivse имеет опцию sign_in_count, но диалог будет оставаться там до тех пор, пользователи не выходит из журналов и обратно.

+0

Вы на самом деле не говорите нам об этом достаточно. –

+0

Извините, я отредактирую вопрос. –

ответ

2

Если добавить :trackable модуля в настройки завещать, вы получите last_sign_in_at и sign_in_count. Любой из них должен предоставить вам более чем достаточно информации, чтобы знать, когда/если пользователь ранее подписался. И posts.any?, вероятно, должен уйти.

Например:

display_dialog unless current_user.last_sign_in_at.present? 

или

display_dialog unless current_user.sign_in_count > 0 
0

в контроллере

if @posts.blank? && user.sign_in_count == 1 # no posts and 1st time login 
    session[:display_dialog] = true 
ens 

ввиду

<%= display_dialog if session[:display_dialog] %> 
Смежные вопросы