我想创建一个有两列的页面:
|形成披萨的形式|推荐的比萨饼|
当您使用左栏中的表单创建披萨时,右侧的列开始显示您可以根据左侧自定义订购的不同类型的披萨。
我找到的所有教程都将部分重新加载到表单提交中,但是,我希望每次输入模糊或选择更改时部分重新加载。
使用Rails有一种简单的方法吗?
我想抓住未提交的@pizza
对象,并在每次发生模糊事件时将其发送到部分...
答案 0 :(得分:1)
<强>控制器强>
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以及您想要调用的事件,您可以轻松调用它,当您调用相应的方法时,它将分别更新部分文件
答案 1 :(得分:0)
我认为你给了自己答案。只需将事件监听器附加到表单上的密钥表中,然后通过ajax提交。
$('form').on('blur', function() {
// submit ajax and do something with the response here
});