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

标签 jquery ruby-on-rails ajax ruby-on-rails-3 nested

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

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

class Comment < ActiveRecord::Base
    belongs_to :pin

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

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

一些具体问题:

  • 如何进行ajax加载? (使用jquery)
  • 我需要使用部分内容还是使用评论索引 View ?

最佳答案

我将使用一个链接让用户选择一个 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

在这种情况下, Controller 将寻找渲染 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>

希望有帮助!

关于jquery - Rails 3 - 使用 Ajax 和 jquery 更新 div 内容(嵌套资源),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13470953/

相关文章:

jquery - 在我的 GSP 页面中添加 jquery 库文件

javascript - 读取通过 Ajax 调用发送的 PHP 中的 json 数据

jquery - CSS 中的进度图表

ruby-on-rails - 如何在不实例化 Ruby 中的 A 对象的情况下确定类 A 是否继承自类 B?

ruby-on-rails - Passenger错误: libMagickCore. so.2:无法打开共享对象文件

ruby-on-rails - 在 ruby​​ on rails 应用程序中从 redis 迁移到 mongodb

json - Http 正文中的 Post 字符串值

Jquery Ajax 刷新在 IE 中不起作用

javascript - Ajax 只运行一次

javascript - jquery中清理内存的常用技巧