Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
设计+;Rails 3.0.4在AJAX请求后结束会话_Ajax_Ruby On Rails 3_Session_Devise - Fatal编程技术网

设计+;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 %>