0

好的,所以我有一个类似于 SO 的通知控制器。当我在 nofications#index 页面中时它显示得很好,但没有显示在任何其他视图上,例如我的主页。

有什么方法可以让我呈现部分通知,同时仍然包括它的控制器(让它显示在任何和每个页面上)?

提前致谢

这是我的通知控制器


class NotificationsController < ApplicationController
    def index
        @notifications = Notification.where('user_id = ?', current_user.id)
    end
end
4

1 回答 1

3

在 ApplicationController 中创建一个 before_filter,它会抓取您希望用户看到的任何通知并将它们放入 @notifications 中。然后在您的布局中渲染显示它们的部分,如果 @notifications 中有一些东西。

class ApplicationController

  before_filter :load_notifications

  def load_notifications
    @notifications = Notification.where('user_id = ?', current_user.id)
  end

end

然后说 app/views/layouts/application.html.erb:

<% @notifications.each do |n| %>
  <%= n.message %>
<% end %>
于 2013-06-26T23:22:58.827 回答