我想创建一个页面,其中有两列:Rails AJAX部分不提交表格
|创建比萨|的表单建议的比萨饼|
当您使用左栏的表格创建披萨时,右侧的栏目开始建议您可以根据左定制命令订购不同类型的披萨。
我发现的所有教程都会将部分重新加载到表单提交,但是,我希望每次输入模糊或选择更改时都要重新加载部分。
有没有一种简单的方法来做到这一点与Rails?
我想只抓未提交@pizza
对象,并发送一个模糊事件发生的局部每次...
我想创建一个页面,其中有两列:Rails AJAX部分不提交表格
|创建比萨|的表单建议的比萨饼|
当您使用左栏的表格创建披萨时,右侧的栏目开始建议您可以根据左定制命令订购不同类型的披萨。
我发现的所有教程都会将部分重新加载到表单提交,但是,我希望每次输入模糊或选择更改时都要重新加载部分。
有没有一种简单的方法来做到这一点与Rails?
我想只抓未提交@pizza
对象,并发送一个模糊事件发生的局部每次...
控制器
def my_pizza
@pizza = Pizza.all
respond_to do |format|
format.js
end
end
视图
my_pizza.js.haml
$('#pizza').html('#{j render(partial: 'pizzas/piza', collection: @pizzs)}');
条路线
get 'pizza' => "pizza#my_pizza"
js的内部文件
$(document).on('change', 'input', function() {
// you can create your ajax call which will call the my_pizza method in which action you want to call.
});
您可以添加AJAX,你想叫你可以很容易地把它叫做什么都事件,当你将调用各自的方法,它将分别更新部分文件
我想你给自己的答案。只需将一个事件监听器附加到表单上的关键字并通过ajax提交即可。
$('form').on('blur', function() {
// submit ajax and do something with the response here
});
对,但有没有简单的方法来重新加载部分?或者,我是否必须对partial_pizzas进行AJAX调用,将该数据和'.html()'响应转换为页面上的div?我只是想知道如果Rails有一个简单的方法来重新加载部分? – 2014-09-29 17:35:38
这是非常整洁,正是我所需要的。谢谢。 – 2014-09-29 17:56:58