Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails-将@var传递到视图_Ruby On Rails - Fatal编程技术网

Ruby on rails Rails-将@var传递到视图

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/

轨道3.2.3

我需要向视图传递一个类变量。由于某种原因,我无法做到这一点

   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?因为我不知道正确的方法。我应该用什么?