美文网首页
如何在rails中运用ajax ?

如何在rails中运用ajax ?

作者: 栋栋晓 | 来源:发表于2016-02-04 13:21 被阅读987次

Rails 应用开发笔记(十)

在本应用里,哪些地方需要用到 Ajax 技术呢?

  • 收藏和点赞功能;
  • 评论功能;
  • ‘我的主页’中的部分内容的显示(我的文章,我的收藏等);
  1. app/views/favorites/_favorite_link.html.erb 中
    发起一个 Ajax 的请求,只需要在 link_to 中添加 remote: true 这个参数,点击链接的时候,发往控制器的就是 Ajax 请求,使用 Javascript 处理:

<%= link_to favorites_path(article_id: @article.id), method: :post, remote: true do %>

  1. 点击收藏链接后,POST 请求被 FavoritesController 的 create 方法作为 JS 来处理:
    class FavoritesController < ApplicationController def create @article=Article.find(params[:article_id]) current_user.favorites.create(article_id:params[:article_id]) render :favorite end def destroy favorite = Favorite.find(params[:id]) @article = favorite.article favorite.destroy render :favorite end end
  2. create 方法执行完毕后,会寻找合适的模版来渲染,新建一个 favorite.js.erb
    视图文件,编写在客户端执行的 JS 代码:
    $("#favorite").html("<%= escape_javascript(render partial: 'favorite_link') %>");

这是一段 jQuery 代码,意思是获取第一个匹配 id="favorite"
的元素,设其元素的 html 内容为渲染的 favorite_link 页面。

  1. app/views/articles/show.html.erb
    <div id="favorite" class="col-md-4 text-left"> <%= render 'favorites/favorite_link' %></div>

jQuery 会根据 id 找到这段代码,并替换其中的内容。
这样一来,我们就通过 Ajax 技术实现了局部更新。

相关文章

  • 如何在rails中运用ajax ?

    Rails 应用开发笔记(十) 在本应用里,哪些地方需要用到 Ajax 技术呢? 收藏和点赞功能; 评论功能; ‘...

  • 如何在rails中运用ajax ?

    在本应用里,哪些地方需要用到 Ajax 技术呢? 收藏和点赞功能; 评论功能; ‘我的主页’中的部分内容的显示(我...

  • rails问题总结

    使用ajax异步提交表单在rails中只能使用type=submit的button来提交有data-remote=...

  • 结业BP

    如何在 BP 中运用课程知识点? 做一支 BP 视频相当于综合运用整门课程知识。问题来了,如何在 BP 中运用课程...

  • Rails Ajax 笔记

    ujs使用 安装 Gemfile 中已经使用了 gem 'jquery-rails'在 application.j...

  • Ajax 运用

    traditional默认值未false当提交的参数是数组( {selectUsers:[value,value,...

  • Active Storage+GraphQL:直接上传

    Active Storage之前的生活 首先,让我告诉你我们如何在Rails 4中处理文件上传.TwoQL规范和g...

  • railties库阅读笔记四------application.

    在Rails3.0中,Rails::Application对象是一个Rails引擎,但是,Rails::App...

  • 原生Ajax与JQuery Ajax

    没有学Ajax之前,就在想这到底是一门什么技术,问自己什么是Ajax?Ajax有哪些重点概念?Ajax如何运用?听...

  • 2018-03-13ajax

    客户端;同步; AJAX异步; XMLhttprequest技术; (1)运用HTML+CSS ( 2 ) 运用...

网友评论

      本文标题:如何在rails中运用ajax ?

      本文链接:https://www.haomeiwen.com/subject/ukmekttx.html