我正在使用jQuery UI滑块动态更新页面上的项目。如何让控制器从滑块接收值?是否可以通过本地传递此类信息?如果是这样,部分
将如何处理本地我目前正在更新整个页面并将where子句与params一起使用
@articles = Article.where(:year => params[start_year]...params[start_year])
我想使用jquery清空此部分并使用滑块设置的值渲染新的部分集合。这是最好的做法吗?
答案 0 :(得分:0)
我认为最好的选择是对控制器进行ajax调用,并通过它传递参数。
然后,使用返回的信息,您应该重新填充需要重新填充的页面部分。
在你的路线中,你会想要这样的东西:
get "article/between_years", :controller=>"article", :action=>"between_years"
在您的控制器中,您将拥有该功能
def between_years
@articles = Article.where(:year => params[start_year]...params[start_year])
render :layout=>false ### this line makes it so the application.haml (or html.erb) is not rendered along with your code)
end
并在目录应用中>意见>文章,你将有你想要添加的html的haml或erb文件。
然后你的jquery看起来像这样:
$.get("/article/between_years",{start_year:1991,end_year:2011},function(data, status, xhr){ /// does ajax call to the article route we set up above /
..
$("body").append(data); ///appends the html data returned to the body
///you will probably want to change this a bit
///so every thing is added to the proper place
...
});
我刚才写了另一个回答,概述了一个类似的工作流程,你可能想看看那个=> Auto populate text_fields based on selected item from another collection_select in Rails 3