我怎么能做一个背景搜索和发布结果,而不把它们保存在Rails 4



我会尽量使我的问题简单。基本上我有两个模型在一个HMABTM(有许多和属于许多)的关系。我想做的是让用户找到符合条件的记录(输出可能是来自第二个模型的一些记录)。

我面临的问题:

数据库相当大(~800万条记录),但同时请求/查询的数量并不是那么大。仍然保存搜索结果对我来说不是一个最佳的解决方案,所以我希望通过jquery(或js一般)从运行的后台作业显示结果,而不是保存在数据库中。

我想到的:

使用sidekiq,虽然我不太熟悉rails中的后台工作。我只是不明白我怎么可能要求结果。有些人指出,在这里使用Ajax是最好的主意,但是在Ajax上运行这样的任务是一个好主意吗?它甚至可以工作吗?

使用ajax请求的更好方法。对于jQuery,它将是这样的:

function getData( value ) {
    $.ajax( {  
        url: "/path_to/your_action",  
        data: {  
            variable: value  
        },  
        dataType: "json",
        complete: function( data ) {  
            // process your data  
        }  
    } );  
}  

Rails中的处理请求:

def your_action  
    render :json => ModelName.where( :column_name => params[ :variable ] )  
end  
如果你的表有好的索引,那么它会很快。

相关内容

  • 没有找到相关文章

最新更新