3

現在、ユーザーがアプリ内で誰もフォローしていない場合にダイアログを表示していますが、ユーザーが初めてログインしたときにのみこれを表示したいですか? 新しいユーザーが初めてログインするときはいつでも、誰もフォローしていないため、フィードに投稿がないため、ダイアログが表示されます。私は次のコードを使用してそれを達成しています:

   <% if @posts.any? %> 

ユーザーの最初のログイン時にダイアログを表示したいのですが、二度と表示されません。Deivse には sign_in_count オプションがあることは知っていますが、ユーザーがログアウトして再度ログインするまで、ダイアログはそこにとどまります。

4

2 に答える 2

2

:trackableこのモジュールを Devise セットアップに追加する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
于 2013-02-21T02:06:59.260 に答える
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] %> 
于 2013-02-21T05:42:23.910 に答える