设计+;Rails 3.0.4在AJAX请求后结束会话
我有一个由设计+;Rails 3.0.4在AJAX请求后结束会话,ajax,ruby-on-rails-3,session,devise,Ajax,Ruby On Rails 3,Session,Devise,我有一个由AJAX.InPlaceEditor或InPlaceCollectionEditor生成的AJAX请求触发的操作,如下所示: new Ajax.InPlaceCollectionEditor('agent_email', 'inspections/<%= @inspection.id %>/update_field', { collection: [<% @agents.each do |agent| %> '<%= agent.emai
AJAX.InPlaceEditor
或InPlaceCollectionEditor
生成的AJAX请求触发的操作,如下所示:
new Ajax.InPlaceCollectionEditor('agent_email', 'inspections/<%= @inspection.id %>/update_field',
{
collection: [<% @agents.each do |agent| %>
'<%= agent.email %>',
<% end %>],
okText: 'Update',
cancelText: 'Never mind',
savingText: 'Updating...'
});
一旦到达任何呈现方法,会话将过期,下次用户发送请求时,Desive将它们发送到登录页
即使我正在从身份验证中豁免更新\u字段(在\u filter:authenticate\u user!,:except=>:update\u field
),会话仍在重置
我已经在一个非常类似的问题上看到了答案,但它并没有解决我的特定问题
有什么想法吗?我通过从(prototype snippet.js)获取代码来实现这一点: 。。。在my application.html.erb中的Javascript块中:
<script type="text/javascript">
(... the code from above)
</script>
(…上面的代码)
另外,不要忘记添加:
<%= csrf_meta_tag %>
在同一个文件的顶部(如果还没有)
文档“”解释了这项工作的原因
<script type="text/javascript">
(... the code from above)
</script>
<%= csrf_meta_tag %>