【问题标题】:Devise : undefined method `user_signed_in? Didn't know why?设计:未定义的方法`user_signed_in?不知道为什么?
【发布时间】:2014-01-24 16:12:23
【问题描述】:

请帮助我使用 rails 3.2.11 并设计 2.0.6,但是当我尝试运行我的项目时,我收到一个错误 undefined method `user_signed_in?'类 我已经做了很多谷歌,但没有找到任何解决方案。!

以下是我的应用程序跟踪

NoMethodError in Home#index

Showing /home/amits/RailsWorkspace/Myapp/app/views/home/index.html.haml where line #3 raised:

undefined method `user_signed_in?' for #<#<Class:0xbb1f3f4>:0xbae60b8>

Extracted source (around line #3):

1: %h2= (t :welcome) + " Myapp"
2: 
3: - if user_signed_in?
4:   = link_to (I18n.t :customers), user_root_path
5:   / %li
6:   / = link_to (I18n.t :sign_out), destroy_user_session_path, :method => :delete

Rails.root: /home/amits/RailsWorkspace/Myapp
Application Trace | Framework Trace | Full Trace

app/views/home/index.html.haml:3:in `_app_views_home_index_html_haml___806580830_97751900'

Request

Parameters:

None

Show session dump

Show env dump
Response

Headers:

None

我的gem文件如下

宝石文件:

source 'https://rubygems.org'

gem 'rails', '3.2.11'
gem 'heroku'

gem 'pg'

gem 'haml'
gem 'haml-rails', :group => :development

gem 'rmagick'

group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.0'

  gem 'uglifier', '>= 1.0.3'
end

gem "devise", "~> 2.0.0"
gem 'devise_aes_encryptable'
# version added so that the gem version will be stable at this point.
gem 'geokit', '1.5.0'
gem 'geokit-rails3', '0.1.5'

我的家庭控制器

Homescontroller.rb

class HomeController < ApplicationController
  before_filter :authenticate_user!

  def index

  end
end

我的用户模型

用户.rb

class User < ActiveRecord::Base

  devise :database_authenticatable, :registerable,
    :recoverable, :rememberable, :trackable, :validatable, :token_authenticatable, :omniauthable

 # Setup accessible (or protected) attributes for your model
  attr_accessible :email, :password, :password_confirmation, :remember_me, :sign_in_count

end

Rotes.rb

Myapp::Application.routes.draw do

  devise_for :users

  root to: "home#index"

end

请帮帮我....

【问题讨论】:

  • 你打电话给 :authenticate_user!在你的控制器中?
  • 是的,我有它,我的家庭控制器检查我编辑的问题

标签: devise ruby-on-rails-3.2


【解决方案1】:

尝试删除 ApplicationController 中的“clear_helpers”方法,因为它有时可能会阻止设计加载他的助手。

【讨论】:

  • 我发现 geokit 和 geokit-rails3 有问题,请检查我的 gem 文件。
猜你喜欢
  • 1970-01-01
  • 2013-08-30
  • 1970-01-01
  • 1970-01-01
  • 2014-07-27
  • 2016-01-28
  • 1970-01-01
  • 1970-01-01
  • 2011-06-11
相关资源
最近更新 更多