Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.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 RailsTutorial.org-第8章-已登录?投掷误差_Ruby On Rails_Ruby_Ruby On Rails 3_Railstutorial.org - Fatal编程技术网

Ruby on rails RailsTutorial.org-第8章-已登录?投掷误差

Ruby on rails RailsTutorial.org-第8章-已登录?投掷误差,ruby-on-rails,ruby,ruby-on-rails-3,railstutorial.org,Ruby On Rails,Ruby,Ruby On Rails 3,Railstutorial.org,如果用户已登录,我将尝试显示导航栏 在我的application.html.erb中,我有一行 -导致错误的原因: 静态页面中的命名错误主页 nil:NilClass的未定义方法“[]” Extracted source (around line #16): 13: </head> 14: <body> 15: 16: <% if signed_in? %> 17: <div class="navbar navbar-fix

如果用户已登录,我将尝试显示导航栏

在我的application.html.erb中,我有一行
-导致错误的原因:

静态页面中的命名错误主页

nil:NilClass的未定义方法“[]”

Extracted source (around line #16):

13:   </head>
14:   <body>
15: 
16:     <% if signed_in? %>
17:      <div class="navbar navbar-fixed-top">
18:       <div class="navbar-inner">
19:         <div class="container">`
My应用程序控制器:

def sign_in(user)
    cookies.permanent[:remember_token] = user.remember_token
    self.current_user = user
end

def signed_in?
    !current_user.nil?
end

def current_user=(user)
    @current_user = user
end

def current_user
    puts 'current_user called'
    @current_user ||= User.find_by_remember_token(cookies.permanent[:remember_token])
end

def sign_out
    self.current_user = nil
    cookies.delete(:remember_token)
end
class ApplicationController < ActionController::Base
  protect_from_forgery
  include SessionsHelper
end
class ApplicationController

我似乎不明白为什么
!当前用户.nil?
正在断开页面。当我注释掉
时!可以在不中断页面的情况下调用
signed\u-in?
方法中的当前用户.nil?
。但是我显然没有得到我所希望的
签名值。

这里出现了异常:
cookies.permanent[:记住令牌]

所以,
cookies.permanent
为零

----编辑

明白了


使用
cookies.permanent[:memory_-token]=
仅用于写入,但将其作为
cookies[:memory_-token]
读取非常好。非常感谢。你怎么知道这是引发异常的地方?