2012-10-24 37 views
0

我與導軌練習,我的‘會話’的主題中,我得到的消息 「未定義的方法`會議」的ApplicationController中:類」
未定義的方法`會議「的ApplicationController中:

請幫我

這是代碼 *(控制器aplication)

class ApplicationController < ActionController::Base 
    session :session_key => 'ruby_cookies' 
end 

*(控制器,當我要創建的cookie)

class RegistroController < ApplicationController 
    def index 
    end 

    def login 
    if request.post? 
     p_user = User.new(params[:user]) 
     user = User.find_by_nombre_and_password(p_user.nombre, p_user.password) 
     if user 
     session[:user_id] = user.id 
     flash[:notice] = "se ha identificado correctamente" 
     redirect_to home_url 
     else 
     flash[:notice] = "se incorrecto psps" 
     redirect_to login_url 
     end 
    end 
    end 

    def logout 
    session[:user_id] = nil 
    flash[:notice] = "adios sayonara" 
    redirect_to home_url 
    end 
end 

回答

1

你的代碼是真的很難看,但問題很可能與這條線在那裏,它看起來像它試圖調用一個方法「會話」和通它是一個關鍵/值對。

session :session_key => 'ruby_cookies' 

這似乎不在任何控制器操作內。通常情況下,您可以使用session[:my_value] = 'value'來設置會話值,並使用session[:my_value]來讀取它,就像正常的散列一樣。

0

您的代碼ApplicationController不屬於那裏。它屬於在配置文件中,例如config/environment.rb,它會讀這樣的事情:

config.action_controller.session = {  
    :session_key => 'ruby_cookies' 
} 

對於更多的細節,請參見http://guides.rubyonrails.org/configuring.html