一个用户可以有许多个人资料。每个配置文件都有自己的属性。并且用户可以随时随地从一个配置文件更改为另一个配置文件。
所以我想在控制器和视图中设置一个可用的方法或变量,我可以在其中设置用户的current_profile
(如设计的current_user
助手)。
我们尝试过使用ApplicationController
私有方法和ApplicationHelper
方法,但是当用户的昵称不可用时(通过 URL 参数设置)它不起作用。
这是 AppController 方法
...
private
def set_profile
if params[:username]
@current_profile ||= Profile.where(username: params[:username]).entries.first
else
nil
end
end
这是 AppHelper 方法
def current_profile
unless @current_profile.nil?
@current_profile
end
end
任何想法?