質問: こんばんわ。 今回は、teratailのように、ユーザーがログイン or 新しくリクエストでページを見た際に、ユーザーステータスの通知がされるようにしたいです。 ![通知画面](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/a9704e17d4bf1a4770577be676a445e2.png) 例えば、下記のようなモデルがあったとします。 UserがPostモデルを持ちます。 PostモデルがCommentを持つというモデルです。 ``` class User < ActiveRecord::Base has_many :Posts end class Post < ActiveRecord::Base has_many :Comments belongs_to :User end class Comment < ActiveRecord::Base belongs_to :user belongs_to :post end ``` 仕様です。 * コメントされた場合に「○○」と表示させる(totalの値) * ログイン or 新しいリクエストがあるときに表示する * 一度ユーザーが見たら次回からは表示されない。 最近流行りのように使われていますが、具体的な実装方法が思いつきません。 よろしければ、アドバイスをいただければと思います。
回答: navibarのあたりの実装を考えてるという事ですよね? 私だったら、 ・navibarの部分のデータを取得するメソッドを別に考える。 ・そのメソッドを、以下のいずれかの方法で実装する。 ApplicationControllerに直接実装 ApplicationControllerを継承したスーパークラスをつくり、そこに実装、navibar表示コントローラーはそれを継承 moduleを作り、そこに実装し、navibar表示コントローラーでinclude ・navibar表示コントローラのbefore_filterでメソッド呼び出し ・navibar表示用レイアウトを新規に作成し、layoutでnavibarを表示 ってとこですかね? どの方法でメソッドを実装するかとか、ファイルをどのように分割するかとか、どこでbefore_filterを使うかとか、その辺はその人のセンスと実装の状況によると思いますが。