2012-07-26 117 views
2

我在show中设置了一个会话var:time_block_id。 提交表单时,您会看到相同的session_id和_csrf_token,但time_block_id已消失。有任何想法吗? 的Rails 3.2.6表单提交后会话变量从会话中删除

controller.rb

def show 
    session[:time_block_id] = "test" 
    debugger 
    (rdb:663) p session 
    # outputs ... 
    {"session_id"=>"1232115b1ffe78b7e71163e4bd48974a", "user_return_to"=>"/app/admin/clients", "_csrf_token"=>"/aFAp07yrpQtjgXDS2HQk+uNZLD3QuGRzSGX4Mszyug=", "warden.user.user.key"=>["User", [2], "$2a$10$1Mn/Riq9WdmnUUUiVhXbsO"], "time_block_id"=>"test"} 

    render_wizard 
end 

def update 
    debugger 
    (rdb:663) p session 
{"session_id"=>"1232115b1ffe78b7e71163e4bd48974a", "user_return_to"=>"/app/admin/clients", "_csrf_token"=>"/aFAp07yrpQtjgXDS2HQk+uNZLD3QuGRzSGX4Mszyug=", "warden.user.user.key"=>["User", [2], "$2a$10$1Mn/Riq9WdmnUUUiVhXbsO"]} 

    a = "" 
end 

_form.html.haml

=simple_form_for @time_block, url: wizard_path, :method => :put do |f| 
    =f.submit "go" 

回答

0

我建议你到“warden.user.user之前移动 “time_block_id” 变量。关键“并检查旅游模型。 上一个参数的错误更有可能在没有错误消息的情况下阻止进程的其余部分。