小编mac*_*atz的帖子

使用AJAX在Rails中自动保存表单

我正在尝试为Post#new action自动保存一个表单.每分钟左右,我想POST到Post#autosave,然后我将检查first_or_create并保存/更新Posts表中的记录.我的问题是,我无法再从表单访问POST参数.我想这样做:

$(function() {
  if ($("#new_post").length > 0) {
    setTimeout(autoSavePost, 60000); 
  }    
});

function autoSavePost() {
  $.ajax({
    type: "POST",
    url: "/posts/autosave",
    dataType: "script",
    success: function(data) {
      console.log(data);
    }
  });
  setTimeout(autoSavePost, 60000);
}
Run Code Online (Sandbox Code Playgroud)

我有这条路线:

post 'posts/autosave', as: :autosave_post_path
Run Code Online (Sandbox Code Playgroud)

问题是,服务器日志显示params散列只包含:action和:controller.如何访问作为POST数据的一部分发送的内容的等效内容.

ajax jquery ruby-on-rails post-parameter

6
推荐指数
1
解决办法
3623
查看次数

查询Postgres数组列类型

TL;DR我想知道@> {as_champion, whatever}使用和使用之间的优缺点是什么(或者甚至是等效的)IN ('as_champion', 'whatever')。详情如下:

我正在使用Rails并使用Postgres的数组列类型,但是由于Rails finder方法不能很好地使用它,因此不得不对查询使用原始sql。我找到了一种可行的方法,但想知道首选的方法是:

roles该列Memberships表是我的数组列。它是通过rails这样添加的:

add_column :memberships, :roles, :text, array: true
Run Code Online (Sandbox Code Playgroud)

当我检查表格时,它显示的类型为:(text[]不确定那是否是Postgres真正表示数组列的方式,还是那是Rails shenanigans。

要查询它,我要做类似的事情:

Membership.where("roles @> ?", '{as_champion, whatever}')
Run Code Online (Sandbox Code Playgroud)

postgresql ruby-on-rails ruby-on-rails-4 rails-activerecord array-column

2
推荐指数
1
解决办法
1531
查看次数