0

这似乎应该很容易,但我不知道该怎么做:

如果用户登录到我的应用程序,我总是希望在导航栏的右上角显示他们的名字。但是,如果它们在不同的视图中,例如来自 Posts 控制器的 Posts 视图,那么该视图只能访问 Post 类及其关联变量,对吗?那么我该如何插入这个是:

<%= user.name %> 

当我没有通过用户控制器时?

4

1 回答 1

0

您会发现许多 Rails 应用程序定义了一个current_user在基本控制器中调用的方法,例如ApplicationController,然后将其用作视图助手:

class ApplicationController < ActionController::Base
  def current_user
    # Do whatever logic you need to return an instance of the logged in user
  end

  helper_method :current_user
end

然后,您可以在从该类继承的任何控制器或视图中引用该方法:

<%= current_user.name %>

您的控制器可以调用您想要的任何模型,因此您的问题中陈述的假设不正确。(例如,如果你真的想的话,你可以从你的控制器中调用User模型。)Posts

于 2013-10-14T02:05:32.447 回答