Rails Active Admin - Ajax帖子告诉我了吗?

时间:2011-12-02 16:01:57

标签: ajax ruby-on-rails-3 activeadmin

在我的一个 Active Admin 索引页面中,我列出了表格中的一些记录。

我添加了 jQuery可排序插件,可以通过垂直拖动项目来对记录进行排序。这很好用,每个记录的position属性都正确更新(通过ajax)。

但是,如果我在ajax调用后刷新 Active Admin ,我会退出并再次登录。

Ajax发送此数据:

faq[]=1&faq[]=3&faq[]=2

排序方法:

  def sort
    params[:faq].each_with_index do |id, index|
      Faq.update_all({position: index+1}, {id: id})
    end
    render nothing: true
  end

ajax响应为空,不会给出任何异常。

为什么我要退出?

1 个答案:

答案 0 :(得分:0)

出于某种原因,我必须将X-CSRF-Token添加到a​​jax标头中。我不知道为什么。 rails.js不应该为我这样做吗?

工作解决方案:

  $.ajax({
    url: "/faqs/sort",
    type: "post",
    beforeSend: function(xhr) {
      xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'));
    },
    data: $(this).sortable('serialize')
  });