Tag: jquery ui sortable

将Ajax POST请求的参数格式化为Rails控制器 – 用于jQuery-UI可排序列表

我正在使用jQuery-UI可排序连接列表。 我将连接列表的顺序保存到Rails服务器。 我的方法是获取每个列表项的列表ID,列ID和索引位置。 我想将其包装到一个对象中,该对象可以作为参数传递回Rails控制器以保存到数据库中。 理想情况下,我希望像这样格式化参数: Parameters: {“Activity”=>[{id:1,column:2,position:1},{id:2,column:2,position:2} ,…]} 如何正确格式化我在此Ajax POST请求中传递的参数? 现在,通过以下方法,我传递Parameters: {“undefined”=>””} 这是我当前的jQuery代码(Coffeescript),它不起作用: jQuery -> $(‘[id*=”day”]’).sortable( connectWith: “.day” placeholder: “ui-state-highlight” update: (event, ui) -> neworder = new Array() $(‘[id*=”day”] > li’).each -> column = $(this).attr(“id”) index = ui.item.index() + 1 id = $(“#” + column + ” li:nth-child(” + index + “) “).attr(‘id’) passObject={} passObject.id […]

Sinatra Ruby在散列中迭代数组以将jQuery Sortable发送到数据库

我已经把我缺乏的知识分解为这个片段,我一直在调整irb。 我正在尝试使用jQuery的UI Sortable将post发送到数据库,到目前为止我可以让它发送更新,但它一次发送整个数组而不是每个数组项。 令人惊讶的是,我还没有找到一个人试过Sinatra和Sortable的post。 嗯 哈希和sinatra代码 superslide = {“weee”=>[“3”, “4”, “1”, “2”]} moo = Sort.all moo.each do |o| o.sortorder = superslide[‘weee’] puts o.sortorder end #Output 3412 3412 3412 3412 在上面你可以看到它为每个循环将数组值分成一行。 我知道我缺少一个Ruby基本的东西。 下面是我最终希望克隆到Sinatra的Rails等价物,但是那里的小东西也搞砸了 .index(book.id.to_s) + 1 抛出一个错误,我想因为它是一个字符串,我试过to_i但它只编辑了同一组数字。 Rails代码翻译 def sort @books = Book.all @books.each do |book| book.position = params[‘book’].index(book.id.to_s) + 1 book.save end http://practiceovertheory.com/blog/2009/08/07/sortable-lists-with-jquery-in-rails/ 我也测试了如何在哈希中迭代数组,原谅不同的名称,我有很多测试路由,我现在无法用测试代码。 slideNum.sortorder […]

jQuery-UI Sortable Connected-Lists保存订单并与rails模型关联

让我们说:我有一个’调查’,有很多’问题’,有很多’答案’ 如果我有一个’调查’有2个’问题’的实例,那就叫它们:’好问题’和’坏问题’ ‘好问题’有5’答案’和’不良问题’有3’答案’ 如果“好问题”和“错误问题”通过此jQuery-UI交互连接可排序列表。 http://jqueryui.com/sortable/#connect-lists 我知道如何使用jQuery-UI将它们显示为2个可排序列表,我也可以从“不良问题”中删除“答案”到“好问题”。 但是,如何将新的排序位置和新排序的关联保存到另一个“问题”回到Rails数据库? Railscasts如何为单个可排序列表保存位置,但不保存属于不同关联模型的列表。 http://railscasts.com/episodes/147-sortable-lists-revised 我非常感谢这里的帮助! 编辑 我意识到我只需要POST到Rails控制器,列表的元素id,我将’Answer’放入(即<ol class = "connectableSortable" id = "Good_Question" ) 这是Railscast如何对Rails控制器执行POST以按可排序顺序传递object_id数组的语法。 jQuery -> $(‘#faqs’).sortable( axis: ‘y’ update: -> $.post($(this).data(‘update-url’), $(this).sortable(‘serialize’)) ) 如何更新此POST以将列表ID传递给它,因此我可以更新“问题”外键,将“答案”更新为它所属的列表“ID”? 这个SO答案有一种方法来检索列表ID。 获取放置元素的项/对象 所以现在,我真的只需要知道如何将额外的参数传递回rails控制器。 有帮助吗?