2014-02-16 39 views
0

我有一个create方法在我的Sessions controller,但我仍然收到此错误。它也指application/create,可能这是我的问题的根源?我在我的application controller中也不需要create方法吗?会话未被创建。错误是'缺少模板会话/创建,应用程序/创建'

Template is missing 

Missing template sessions/create, application/create with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in: * "/opt/csdashboard/app/views" 

这里是我的会话控制器:

class SessionsController < ApplicationController 
    def new 
    end 

    def create 
    dashboard_user = DashboardUsers.authenticate(params[:email], params[:password]) 
    if dashboard_user 
     session[:dashboard_user_id] = dashboard_user.id 
     redirect_to index, :notice => 'Logged in' 
    else 
     flash.now.alert = 'Login failed' 
     render new 
    end 
    end 

    def destroy 
    session[:dashboard_user_id] = nil? 
    redirect_to root_url, :notice => 'Logged out' 
    end 

end 

这里是我的路线:

Csdashboard::Application.routes.draw do 
    resources :csdashboard 
    resources :dashboard_users 
    resources :sessions 
    get '/log_out' => 'sessions#destroy', :as => 'log_out' 
    get '/log_in' => 'sessions#new', :as => 'log_in' 
    post '/sign_up' => 'dashboard_users#new', :as => 'sign_up' 
    post '/dashboard_users_index' => 'dashboard_users#new' 
    root :to => 'dashboard_users#new' 
    get 'csdashboard' => 'csdashboard#index' 
    get '/img/:name.:ext', :to => redirect('/assets/%{name}.%{ext}') 
    match '/404' => 'errors#not_found' 
    match '/422' => 'errors#server_error' 
    match '/500' => 'errors#server_error' 
end 

应用控制器:

class ApplicationController < ActionController::Base 
    protect_from_forgery 
    helper_method :current_user 

    private 

    def current_user 
    @current_user ||= DashboardUsers.find(session[:dashboard_user_id]) if session[:dashboard_user_id] 
    end 
end 
+1

下应该有一个'会议'文件夹,里面你应该有一个文件名为'create.html.erb' – devanand

+0

这样做,它让我过去的错误,非常感谢!我只是添加了一个空白的create.html.erb文件,它似乎没问题。它应该是空白的(没有代码,没有HTML)? –

+0

有趣的问题。如果你不想展示什么,就不需要创作。在ruby-on-rails上查找更多关于'render'的信息http://guides.rubyonrails.org/layouts_and_rendering.html – devanand

回答

0

它正在寻找template用的名字交流灰。在动作中使用render 'new'