我正在使用rails练习,我在“会话”主题中,我收到了消息 “ApplicationController的未定义方法`session':类”
请帮帮我
这是代码 * (控制器应用程序)
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
答案 0 :(得分:1)
你的代码真的很难阅读,但问题可能与这一行有关,它似乎试图调用一个方法“session”并传递一个键/值对。
session :session_key => 'ruby_cookies'
这似乎不属于任何类型的控制器操作。通常,您将使用session[:my_value] = 'value'
设置会话值,并使用session[:my_value]
读取,就像普通哈希一样。
答案 1 :(得分:0)
ApplicationController
中的代码不属于那里。它属于配置文件,例如config/environment.rb
,它将读取如下内容:
config.action_controller.session = {
:session_key => 'ruby_cookies'
}