我在rails中使用会话哈希,只有一次登录操作完成并且呈现另一个页面时,它才能正常工作。如果我移动到另一个页面名称消失,则该用户的名称将仅显示在该呈现页面中。出现用户名称的部分位于布局中。
这是我的会话控制器:
class SesionController < ApplicationController
def new
@admin = Admin.find_by({"usuario" => params[:usuario], "password" => params[:password]})
if @admin then
session[:usuario] = @admin.id
session[:nombres] = @admin.nombres + " " + @admin.apellidos
@usuario = session[:nombres]
@titulo = 'Panel De Control'
@panel_activo = 'active'
render :'admin/panel'
end
end
def destroy
end
end
这是呈现的页面的控制器,不显示用户的名称:
class AdminController < ApplicationController
def panel
@usuario = session[:nombres]
@titulo = 'Panel De Control'
@panel_activo = 'active'
end
end
希望你能帮助我。
..........
我像这样注释了CSRF保护线:
class ApplicationController < ActionController::Base
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
#protect_from_forgery
end
现在它有效......任何原因?