2012-07-13 61 views
0

我使用devise在我的应用程序中对用户进行身份验证。问题是我的应用程序中没有任何设计助手。例如。在文件app/controllers/admin/dashboard.php我有这样的代码片段:设计助手方法不存在

<% if user_signed_in ? %> 
    do something 
<% end %> 

我得到

undefined method `user_signed_in?' 

这里是rake routes命令

new_admin_session   GET /admin/sign_in(.:format)   devise/sessions#new 
admin_session    POST /admin/sign_in(.:format)   devise/sessions#create 
destroy_admin_session  DELETE /admin/sign_out(.:format)  devise/sessions#destroy 
admin_password    POST /admin/password(.:format)  devise/passwords#create 
new_admin_password   GET /admin/password/new(.:format) devise/passwords#new 
edit_admin_password   GET /admin/password/edit(.:format) devise/passwords#edit 
          PUT /admin/password(.:format)  devise/passwords#update 
cancel_admin_registration GET /admin/cancel(.:format)   devise/registrations#cancel 
admin_registration   POST /admin(.:format)     devise/registrations#create 
new_admin_registration  GET /admin/sign_up(.:format)   devise/registrations#new 
edit_admin_registration  GET /admin/edit(.:format)   devise/registrations#edit 
          PUT /admin(.:format)     devise/registrations#update 
          DELETE /admin(.:format)     devise/registrations#destroy 
login        /admin/login(.:format)   devise/sessions#new 
login        /admin(.:format)     devise/sessions#new 
admin_dashboard_index  GET /admin/dashboard/index(.:format) admin/dashboard#index 

这里的输出routes.rb中

的内容
devise_for :admin 

    devise_scope :admin do 
    match 'admin/login' => 'devise/sessions#new', :as => :login 
    match 'admin' => 'devise/sessions#new', :as => :login 
    get "admin/dashboard/index" 
    end 

    namespace :admin do 
    resources :images 
    end 

And Admin model

class Admin < ActiveRecord::Base 

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

    attr_accessible :email, :password, :password_confirmation, :remember_me 

end 

这里有什么问题?我可以注册或登录,但我无法使用帮助器方法。

回答

1

尝试

admin_logged_in? 

色器件将使用任何模型被称为