Ruby on rails Rails-将@var传递到视图
轨道3.2.3 我需要向视图传递一个类变量。由于某种原因,我无法做到这一点Ruby on rails Rails-将@var传递到视图,ruby-on-rails,Ruby On Rails,轨道3.2.3 我需要向视图传递一个类变量。由于某种原因,我无法做到这一点 class HomeController < ApplicationController @@user_id = '1343454' def index #....................... end def about #....................... end end /view/
class HomeController < ApplicationController
@@user_id = '1343454'
def index
#.......................
end
def about
#.......................
end
end
/view/home/about.html.erb
<% ....
@@user_id is not visible
... %>
class HomeController
最简单的方法是什么?请不要使用
@
在应用程序控制器中
可以定义:
def current_user
@current_user.id = '1343454'
end
helper_method :current_user
助手方法将使当前用户在应用程序的任何控制器或视图中可用
我相信,‘1343454’只是一个例子。通常我们会有这样的东西:
@current_user ||= User.find(session[:user_id]) if session[:user_id]
请参考此问题:这是黑客行为,不是线程安全的,不推荐使用。请不要走这条路。如果你有一个更好的例子来说明你真正想做什么,我们可以帮助你。@MurifoX,这个例子很复杂。有没有更简单的方法?为什么要使用@来存储当前用户id?因为我不知道正确的方法。我应该用什么?