rails4 ajax 例子,Rails 4渲染部分与ajax,jquery,:remote => true和respond_to

必须有几件事才能使它工作,包括:remote =>触发元素上的true标志,控制器的类定义中的respond_to:js标志,路由,部分视图以及最后实际渲染动态部分的jQuery必须包含在单独的.html.js文件中。

以下示例是“someajax”控制器的虚构“render_partial_form”方法。

1)添加一个:remote =>触发元素的真实标志

把:remote =>您的.html.erb文件(视图)中您要触发AJAX调用的元素的链接或表单标签上的true标志,例如

true) do %>

用:remote => true,rails不会自动切换视图,这样可以运行JQuery。这可以与form_tag,link_tag或其他类型的标签一起使用。

2)在控制器顶部添加“respond_to:html,:js”

在控制器的类定义的顶部,您现在必须指定控制器可以响应javascript以及html:

class SomeajaxController < ApplicationController

respond_to :html,:js

...

def render_partial_form

@array_from_controller = Array.new

...

end

end

在这个例子中,有一个变量从控制器传递到视图中:一个名为@array_from_controller的选择列表选项的数组。

3)将http动词路由到控制器的方法

因为我想要一个POSTed表单来触发AJAX调用,所以我将控制器的post动词转发到render_partial_form视图。

post 'someajax' => 'someajax#render_partial_form

由def render_partial_form定义的控制器方法与视图名称_render_partial_form.html.erb匹配,因此无需从控制器调用呈现操作。

4)创建部分视图

部分视图应具有与控制器方法相同的名称,并以下划线开头:_render_partial_form.html.erb

Here is the partial form

5)创建JQuery文件

JQuery语句触发窗体的呈现。将“render_partial_form”替换为控制器方法和部分视图的实际名称。 slideDown效果是可选的“眼睛糖果”。

创建带有.js.erb扩展名的文件,与控制器名称相同:

render_partial_form.js.erb

$('#render_partial_form').html("");

$('#render_partial_form').slideDown(350);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值