我会尽量使我的问题简单。基本上我有两个模型在一个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