Controller在响应ajax请求时没有更新会话参数。我在这上花了一个小时,但仍然不知道为什么会这样。我错过了关于ajax非常重要的事情吗?
Crontroller日志被点击并更改会话变量
def update
if params["commit"] == "Generate Validation Code"
Rails.logger.info "session before: #{session[:last_validation]}"
session[:last_validation] = Time.now.to_i
Rails.logger.info "session after: #{session[:last_validation]}"
end
end
非ajax请求 - 会话var已更新并正确保存
<%= form_for @ignindex do |t| %>
<%= t.submit "Generate Validation Code", class: "btn btn-large btn-primary" %>
<% end %>
Ajax请求 - 控制器显示会话var已更新,但它永远不会被保存?
$.ajax({
url: "/ignindices/" + $("#ign").data("id"),
type: "PUT",
data: {"commit" : "Generate Validation Code" },
dataType: "json",
success: function(data) {
console.log("it submitted!");
}
});