ruby on rails 局部刷新

来源:互联网 发布:python-kafka-logging 编辑:程序博客网 时间:2024/06/03 16:31

假设现在有一组ruby on rails文件,有example_controller.rb,在view中有example文件,里边有一个index.html.erb,有一个_html_code.html.erb,里边是需要刷新的html代码
index.html.erb中的代码是:

.....<div id='refresh-part'>    <%= render :partial => 'html_code', :locals => {var: @vars}%></div>.....<script>     $(".submmit-btn").click(function () {        $.ajax({            type: "POST",            url: "/example",            data: {},            dataType: 'json',            success: function(date){            $('#refresh-part').html(date.htmls);                   }        });    });</script>

以上代码的js部分是提交一个请求给后台,成功后修改refresh-part部分的代码
那么现在再看controller部分:

def index    @vars = some_new_value     render :json => {          :htmls => render_to_string({              :partial => "html_code",              :locals => {var: @vars}          })        }      return end

以上代码将变化的部分值传给html_code部分,然后将html_code部分的代码都转换为string传回给当前ajax请求,最后post到页面上。

0 0