我有這條線在<...>/layouts/application.html.erb
:設計助手返回nil
<% if client_signed_in? %>
要呈現不同的HTML無符號/簽約客戶。起初我使用SQLite3,一切正常,直到我試圖使用MySQL。所以,我運行遷移文件,插入與rake db:seed
相同的數據並使用Devise API註冊,然後檢查數據是否插入到數據庫中。於是我試圖用相同的API登錄並收到以下錯誤上面的一行:
未定義的方法`的零to_sym」:NilClass
或者從日誌更具體的版本:
ActionView::Template::Error (undefined method `to_sym' for nil:NilClass):
11: <div class="navbar navbar-default navbar-fixed-top" role="navigation">
12: <div class="container">
13: <ul class="nav navbar-nav navbar-right">
14: <% if client_signed_in? %>
15: <li class="dropdown">
16: <a href="#" class="dropdown-toggle" data-toggle="dropdown">
17: <span class="glyphicon glyphicon-user"></span>
app/views/layouts/application.html.erb:14:in `_app_views_layouts_application_html_erb___3350269212856659822_70353324331380'
我得到了所有設計助手一樣,像current_client
(對應型號爲Client
)等。
database.yml
:
development:
adapter: mysql2
encoding: utf8
database: development
pool: 5
username: root
password:
socket: /tmp/mysql.sock
ApplicationHelper
:
module ApplicationHelper
def resource_name
:client
end
def resource
@resource ||= Client.new
end
def devise_mapping
@devise_mapping ||= Devise.mappings[:client]
end
end
Client
型號:
class Client < ActiveRecord::Base
devise :database_authenticatable, :registerable
end
會議轉儲:
_csrf_token: 「YYUINrP + 2synbq2bayWVozyo3nfGVtzkxDd9QJn9S4k =」 閃光:{ 「丟棄」=> [], 「閃爍」=> { 「通知」=> 「符號中成功。」}} SESSION_ID: 「6ab5a131dc9300e2a3c0dbd4e00218f0」 區長。 user.client.key:[[2], 「$ 2A $ 10 $ bqpnIBKi4XCy64TH1zzhB」]
所以,你可以看到,會話不是空的,它需要正確id
從模型/ DB,過程登錄也是成功的。
ENV轉儲:
GATEWAY_INTERFACE: "CGI/1.1"
HTTP_ACCEPT:"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
HTTP_ACCEPT_ENCODING: "gzip,deflate,sdch"
HTTP_ACCEPT_LANGUAGE: "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4"
HTTP_CACHE_CONTROL: "max-age=0"
REMOTE_ADDR: "::1"
REMOTE_HOST: "::1"
請張貼您的整個錯誤信息。 – joelparkerhenderson 2015-02-07 23:05:17
@ joelparkerhenderson:你能更具體嗎?我只得到上面的消息。你需要框架跟蹤嗎? – 2015-02-07 23:09:32
這很有幫助。你可以發佈你的方法'client_signed_in?'的代碼嗎?而且,你確定這是一個很長的方法名,而不應該是兩個方法,一個點,即'client.signed_in?' – joelparkerhenderson 2015-02-07 23:30:14