Rails 3 - 使用 Ajax 和 jquery 更新 div 内容(嵌套资源)

2024-06-25

我有两个简单的模型,Pin 和 Comment,Comments 属于 Pin:

class Pin < ActiveRecord::Base
    has_many :comments, dependent: :destroy

and

class Comment < ActiveRecord::Base
    belongs_to :pin

在 Pin 的索引操作中,我基本上有一个所有引脚的列表 +div. This div当用户选择 pin 时必须显示所有评论。

概念很简单,但我不知道如何实现它。 我发现了许多相关的主题,但我总是迷失在与我的问题的差异中。

一些具体的问题:

  • 如何进行ajax加载? (使用jquery)
  • 我需要使用部分或使用评论索引视图吗?

我将使用一个链接供用户选择 Pin 图,但您明白了:

#:remote => true allows ajax stuffz.
<%= link_to 'show comments', pin_comments_path(@pin), :remote=> true %>

在 comments_controller.rb 中(我在这里使用索引操作,但根据您的需要进行调整)

def index 
  @pin = Pin.find(params[:pin_id])
  @comments = @pin.comments.all

  respond_to do |format|
    format.js { render :pin_comments }
  end
end

在这种情况下,控制器将寻找渲染 pin_comments.js.erb,它将与您的评论 div 交互。

//pin_comments.js.erb
$("#comments_div").html("<%= j(render('show_comments', :comments=> @comments)) %>");

查看部分模板以显示评论

#_show_comments.html.erb
<div id="comments_div">
    <% comments.each do |c| %> 
        <p>
           <h1><%= c.title %></h1>
           <h6>by <%= c.author %> </h6>
           <%= c.content %>
        </p>
    <% end %>
</div>

希望有帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 3 - 使用 Ajax 和 jquery 更新 div 内容(嵌套资源) 的相关文章

  • Json Parse - 未捕获的语法错误:意外的标记 T [重复]

    这个问题在这里已经有答案了 可能的重复 JSON Javascript 转义 https stackoverflow com questions 13180462 json javascript escape 我在 jsonlint 上测试
  • 如何使用 jQuery 在悬停时显示工具提示消息?

    正如标题所述 如何使用 jQuery 在悬停时显示工具提示消息 工具提示插件可能对于您的需要来说太重了 只需使用您希望在工具提示中显示的文本设置 标题 属性即可 yourElement attr title This is the hove
  • 使用 xslt 将 xml 元素移动到另一个元素

    我有一个如下所示的 XML
  • 设计确认链接将用户重定向到 heroku 域而不是自定义域

    我有一个网络应用程序 前端采用 Angular 后端采用 Rails 我有一个自定义域www example com并将用户重定向到 heroku URL example herokuapp com 用户注册后 需要确认他们的电子邮件 当他
  • 通过 Devise 将 Discourse SSO 与现有 Rails 站点相结合

    我有一个现有的 Rails 应用程序 它使用 devise 作为用户身份验证 我添加了一个话语论坛 http www discourse org一切都很顺利 它驻留在子域上 我已阅读该帖子https meta discourse org t
  • 等待服务器时的进度条

    有些操作非常耗时 并且等待它们完成需要很长时间 有时会出现超时的情况 我想使用实时进度条 所以我想向用户显示状态 并且我想防止超时 我必须使用哪些技术 JS Ajax 多线程还是两者兼而有之 我该如何实现这个 请指教 我建议使用像 jque
  • 有没有办法让div在通过jquerydraggable[或等等]拖动时不互相重叠?

    有没有办法让div在通过jquerydraggable 拖动时不互相重叠 我有一堆 div 用户可以拖动它们 但我不能让它们彼此重叠 基本上 我正在创建一个画布 用户可以在其中自由移动网站内容 但在移动它们时不需要与其他内容重叠 有任何想法
  • jQuery 拖动并跟随鼠标

    我正在尝试创建一个两列的可滑动区域 中间有一个拖动栏 请参阅这个小提琴 http jsfiddle net W7tGj 2 http jsfiddle net W7tGj 2 我试图避免将 jQ UI 添加到其中 因此任何帮助将不胜感激 我
  • 如何在 js.erb 中使用 Ruby 代码?

    我可以使用以下方式在模态中渲染部分内容escape javascript在js erb文件代码中 body append my modal modal show 但是 我似乎无法获得以下结果 console log ERB 将输出一个纯字符
  • 通过子对象的最大字段值查找 ActiveRecord 对象?

    如何找到与 ActiveRecord 计算结果关联的对象而不是值 例如 我有 parent 它有很多孩子 我想找到具有最大 价值 的孩子 我知道我可以做 parent children maximum value 但这会返回最大值 是否有类
  • Rails:构建涉及多态关联和 STI 的查询

    我正在尝试查找有关照片的 10 条最新评论 以便将它们集成到我的 Rails 3 0 3 应用程序上的活动提要中 我有一个Photo模型 它继承自Upload使用单表继承的模型 class Upload lt ActiveRecord Ba
  • Rails:将值序列化为逗号分隔而不是 YAML

    我正在寻找一种方法来存储例如的序列化值 列中的 ID 在之前的声明中 这不是最佳设计 该列用于关联记录的 ID 但仅在显示记录时使用 因此不会对该列进行选择进行查询 也不会对此列进行联接任何一个 在 Rails 中 我可以使用以下方法序列化
  • $(document).ready 回调何时执行?

    假设我们附加一个 click http api jquery com click 锚点的处理程序 a 中的标签 document ready http api jquery com ready 打回来 该处理程序将取消默认操作 遵循href
  • 根据多列删除重复记录

    在我们的系统中 我们每小时从外部数据库进行导入 由于导入脚本中存在错误 现在存在一些重复记录 如果任何记录具有相同的内容 则视为重复 legacy id and company 我可以运行什么代码来查找并删除这些重复项 我正在玩这个 Pro
  • 发送带有图像的嵌套 JSON

    我一直在尝试研究一种能够通过 Ajax 将嵌套 JSON 请求发送回服务器的方法 根据我的理解 我们主要用于向服务器发送图像或文件的 formdata 在这种情况下不起作用 因为 FormData 似乎不处理嵌套对象 这就是我需要发送的有效
  • jquery 按钮点击背景颜色变化

    为什么这不起作用 jquery button click function go css background color yellow html table tr td hello td table gt tr table
  • 使用 jQuery 将 Enter 的按下链接到按钮单击

    我在模态表单上有一些按钮 div class block footer align right div
  • 帮助使用 jquery 验证插件和复选框

    我有一个复选框组 需要对其进行唯一命名 以将值单独存储在数据库中 但是 使用 jquery 验证插件 我无法验证名称不同的组
  • chrome中使用jquery的图像高度问题

    img height 回报0在 Chrome 中 但在 IE 和 Firefox 中返回实际高度 在 Chrome 中获取图像高度的实际方法是什么 正如 Josh 提到的 如果图像尚未完全加载 jQuery 将不知道尺寸是多少 尝试这样的操
  • 如何在网页上显示进度条直到网页完全加载?

    我想在网页中显示进度条 加载弹出窗口 直到页面完全加载 我的网页很重 因为它包含一个 HTML 编辑器 这是一个基于 jQuery 的 HTML 编辑器 需要很多时间才能完全加载 在加载时 我希望在页面上显示一个进度条 该进度条将在整个页面

随机推荐