ruby-on-rails - 在 Rails 3 中使用 Ajax 更新部分内容

标签 ruby-on-rails ajax ruby-on-rails-3 partials

我有一个项目列表和一个侧边栏,在其中显示有关项目的详细信息。侧边栏是一个部分,当列表中的某个项目触发事件 onmouseenter 时,它应该随 Ajax 一起更改。

我已经设法通过 Ajax 将 id(我输入鼠标的项目的 ID)发送到我的 Controller 的操作“列表”,但部分未更新...:(

我确信我已经非常接近解决方案了。我是 Ajax 新手,我在 StackOverflow 和许多其他网站上搜索了整个下午,但他们总是解释如何使用 Ajax 管理 CRUD 操作,但它似乎对我不起作用......

这是代码:

-ajax部分:

$("div.item").mouseenter(function(event){
 var id = $(this).attr('data');
    var url = "/item/list?id="+id+"&lg=en";
    var data = $(this).serialize();
    $.post(url,function(response_data){$("#item_details").html(response_data)});
    return false;
});

- Controller 操作:

def list
    @items = Item.all
    if request.xhr?
        id_exists?("item", params[:id], "item", "list"){@item = Item.find(params[:id])}

        render :partial => "item/sidebar/sidebar_home", :object => @item
    else
        @item = @items.first unless @items.empty?
    end
end

-哈姆尔:

content_for :sidebar do
   #item_details
       =render :partial => "item/sidebar/sidebar_home", :object => @item


.items_wrapper
-if @items.empty?
    ="No items"
-else
    = render :partial => "item/partials/item", :collection => @items

在第二部分中,我有 div.item ,它包装了所有内容。 所以基本上,我想更新侧边栏的内容,仅此而已。

很抱歉,如果这个问题看起来很愚蠢,并提前感谢您的帮助。

感谢 Wizard of Ogz,问题已解决! XD

最佳答案

您需要传递一个回调函数来处理 AJAX 请求的响应。请参阅http://api.jquery.com/jQuery.post/

示例可能如下所示:

$.post(url, data, function(response_data){ $("#sidebar_id").replaceWith(response_data) });

关于ruby-on-rails - 在 Rails 3 中使用 Ajax 更新部分内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10079399/

相关文章:

ruby-on-rails - 从带有夹具工厂的 Rails 环境运行 JS 测试套件,或用于前端的 API 以请求在后端加载某些夹具

ruby-on-rails - rails : rake db:create:all fails to connect to PostgreSQL database

mysql - Ruby on Rails,保存!返回 true 但数据库行未更改(仅在生产中;在开发中工作正常)

jquery地址谷歌分析

ruby-on-rails - 将散列键转换为小写 -- Ruby 初学者

ruby-on-rails - 如何在 Shopify 公共(public)应用程序中添加 JavaScript

javascript - 这个网页是如何更新的? Firebug 显示没有网络事件?

javascript - 如何使用 Codeigniter 从 Ajax Jquery 中的 Controller 获取多个参数?

ruby-on-rails - Resque worker 默默地死去

ruby-on-rails - 从命令行编辑 Rails 模型