неопределенный метод `user_signed_in? '- Разработать - PullRequest
2 голосов
/ 19 мая 2011

решено: я использовал метод 'clear_helpers' в ApplicationController, поэтому он блокировал Devise для загрузки его помощников.

Здравствуйте,

Когда я запускаю свое приложение в первый раз наВ режиме «разработки», я получаю эту ошибку, когда я перезагружаю ошибку, исчезает.Когда я запускаю «производство», ошибка все равно возникает, потому что приложение загружает приложение только один раз (?), Так что же происходит?Кто-то может помочь?

Ошибка:

undefined method `user_signed_in?' for #<#<Class:0x10312ddc0>:0x103127100>

Extracted source (around line #16):

13: 
14:             #top
15:                 = link_to '', root_path, :id => 'logo'
16:                 - if user_signed_in?
17:                     #session
18:                         %p= raw "Olá <b>#{current_user.email}</b>"          
19:                         #myaccount.button{:onclick => "javascript: document.location.href = '#{edit_user_registration_path}'"}

Я использую Devise со следующей настройкой:

Rails: 3.1, Devise: 1.3.4

Myмодель:

class User::Account < ActiveRecord::Base  
  devise :database_authenticatable, :confirmable, :lockable, :recoverable,
         :rememberable, :registerable, :trackable, :timeoutable, :validatable,
         :token_authenticatable
end

маршруты:

Foco::Application.routes.draw do
  devise_for :users, :class_name => 'User::Account'

  root :to => 'main/cockpit#index', :constraints => lambda {|r| r.env["warden"].authenticate? }

  devise_scope :user do
    root :to => "devise/registrations#new"
  end
end

Мой контроллер:

class Main::CockpitController < ApplicationController
  before_filter :authenticate_user!

  def index
  end
end

Спасибо!

Ответы [ 3 ]

1 голос
/ 20 мая 2011

Метод 'clear_helpers' в ApplicationController блокировал Devise для загрузки его помощников.

Итак, я удалил этот метод и приложение работает.

1 голос
/ 24 августа 2011

Я получил эту ошибку, потому что я делал странные вещи с моими маршрутами разработки.Сделать их нормальными решил для меня.

1 голос
/ 19 мая 2011

Похоже, функции, которые вы пытаетесь вызвать, не определены.Когда вы запускаете rails g devise User, вы получаете функции, которые вы пытаетесь использовать, однако, если вы использовали что-то нестандартное, вам нужно использовать единственную версию этого.Так что, если вы запускаете рельсы и разрабатываете что-то нестандартное, у вас есть функции что-то нестандартное_logged_in?и т. д.

...