之前做。net的时候,自己做了一个showcontent的插件,用来加载页面的局部partial

之前采用的是ashx的方式

但rails里面不太方面,今天找到一个比较好的方法,试验成功

起初网上找到一个解决方案

HTML Tab

<li class='StreamTab StreamTabRecent active'>
<%= link_to 'Most Recent', mostrecent_schools_path, :remote => true, :class => 'TabText' %>
</li> <div id='ContentBody'>
<div id='ajax'></div>
<%= render 'users/microposts', :microposts => @microposts %>
</div>
School Controller class SchoolsController < ApplicationController
def mostrecent
@school = School.find_by_slug(request.url.gsub('http://localhost:3000/','')).id
@microposts = @user.microposts.order('created_at DESC').paginate(:per_page => 3, :page => params[:page])
respond_to do |format|
format.html
format.js
end
end
end

  

Most Recent JS

$("#ContentBody").html('<%= escape_javascript(render :partial => "users/microposts" )%>');

Routes

  resources :schools do
collection do
get :mostrecent
end
end 原文:http://stackoverflow.com/questions/17246411/ajax-call-to-render-partial-in-rails-3
但这个方法不太好,会有一些特殊字符过滤问题 后来发现这个方法不错
def mostrecent
@school = School.find_by_slug(request.url.gsub('http://localhost:3000/','')).id
@microposts = @user.microposts.order('created_at DESC').paginate(:per_page => 3, :page => params[:page])
respond_to do |format|
format.json { render :json => {:success => true, :html => (render_to_string 'users/microposts')} }
format.html { }
end
end

  

$('.TabText').live 'ajax:success', (event,data) ->
$('#ContentBody').html(data.html) if(data.success == true)

  

通过locals可以给partial传直
render_to_string(:partial => 'my_partial', :layout => false,
:locals => {:my_object => my_value})

利用这个方式可以做无刷新的分页技术,而且相当方便  

 

在rails中 Rendering Partials through Ajax的更多相关文章

  1. rails中发送ajax请求

    最近在写一个blog系统练练手,遇到一个一个问题,用户添加评论的时候想发送ajax请求,但是rails里的ajax和Python中的不太一样,Python中的ajax是用js,jquery实现的和ra ...

  2. ruby on rails 中render的使用

    最近写ror,因为比较菜,很多东西不知道,只能看一点查一点了 render 先上点搜集的常用方式 render :action => "long_goal", :layout ...

  3. ruby on rails 中render的

    Ruby rails页面跳转代码如下: 1.render(:text => string) 2.render(:inline => string, [:type => "r ...

  4. Rails中的MIME类型

    layout title date comments categories post rails的中的MIME类型 2014-09-08 21:40 true ruby Rails开发中经常使用不同的 ...

  5. 【转】Rails中Bootstrap的安装和使用

     转自:http://blog.csdn.net/lissdy/article/details/9195651   眼看着前端攻城师们都开始使用Bootstrap创作网页,于是也想学着在最近正在学习的 ...

  6. Jquery中$.load(),$.get(),$.post(),$.ajax(),$.getJSON()的作用与不同

    这个五个都是获取页面或者数据的方法.. 都是基于Ajax协议的..   $.get(url,[data],[callback])     //描述: 从服务器加载数据,请求方式为GET.  url   ...

  7. ASP.NET MVC中使用ASP.NET AJAX异步访问WebService

    使用过ASP.NET AJAX的朋友都知道,怎么通过ASP.NET AJAX在客户端访问WebService,其实在ASP.NET MVC中使用ASP.NET AJAX异步访问WebService 也 ...

  8. rails 中 create, new, build, save 的用法以及误区汇总

    自己很初级,初级的不能再初级,所以初次接触rails的时候,对于里面的create,new,build等方法不是很了解,用的很混乱,导致经常出现不必要的bug,很苦恼,决定,总结一下,结合网上已有资源 ...

  9. Vue中应用CORS实现AJAX跨域,及它在 form data 和 request payload 的小坑处理

    基本概念部分(一):理解CORS 说道Vue的跨域AJAX,我想先梳理一遍CORS跨域,"跨域资源共享"(Cross-origin resource sharing),它是一个W3 ...

随机推荐

  1. AIX 环境下ODM库同步

    IBM AIX v5.3操作系统环境下有时会出现ODM库与rootvg硬盘上数据不同步的情况.使用命令lsvg -l datavg检查文件系统类型,发现显示为"???"这就表示OD ...

  2. avalon使用笔记

    //保存取消操作(使用双向绑定) <div ms-controller='test'> <table border="1" style="border- ...

  3. python-基础介绍

    一.Linux基础 - 计算机以及日后我们开发的程序防止的服务器的简单操作 二.Python开发 http://www.cnblogs.com/wupeiqi/articles/5433893.htm ...

  4. CTO对话:云端融合下的移动技术创新

    云端融合真的来了?快听CTO们怎么讲云端融合下,技术创新怎么破? 快听CTO箴言  云喊了很多年,对于很多普通的技术人,心中有很多疑问:云端融合到底意味着什么,对公司的技术体系有什么影响,未来又会走向 ...

  5. c++总结01

    今天编写了四个小程序分别是“石头剪刀布游戏”“数字之间加空格输出”“蛇形矩阵”“螺旋矩阵”. 通过编写石头剪刀布代码 熟悉了switch语句和if语句的使用,同时也运用了do..while语句,其中 ...

  6. linux命令(1):ls命令

    ls命令是linux下最常用的命令. ls命令就是list的缩写,缺省下ls用来打印出当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单. 通过ls 命令不仅可以查看lin ...

  7. 驱动开发学习笔记. 0.06 嵌入式linux视频开发之预备知识

    驱动开发读书笔记. 0.06  嵌入式linux视频开发之预备知识 由于毕业设计选择了嵌入式linux视频开发相关的项目,于是找了相关的资料,下面是一下预备知识 UVC : UVC,全称为:USB v ...

  8. ceph与openstack对接

    对接分为三种,也就是存储为openstack提供的三类功能1.云盘,就好比我们新加的硬盘2.原本的镜像也放在ceph里,但是我没有选择这种方式,原因是因为后期有要求,但是我会把这个也写出来,大家自己对 ...

  9. Mathmatics

     点 到直线 距离 公式 . 平面内

  10. 关于android帮助文档打开慢

    打开慢的原因是:Doc目录下的html文件里含有访问google的js文件<link rel="stylesheet"href="http://fonts.goog ...