【问题标题】:how do I save Jquery_ui sortable position in rails?如何在 Rails 中保存 Jquery_ui 可排序位置?
【发布时间】:2017-01-18 06:16:51
【问题描述】:

大家好~我对 rails 和 stockoverflow 很陌生,所以请原谅我的初学者 lvl 问题。 (我也远不是 Jquery/JS/ajax 的老手)

我知道存在“保存可排序列表”问题,但它们要么是针对 PHP 的,不完整,要么不符合我的项目建议,我试图在整个地方寻找一个易于理解的示例,到目前为止还没有运气好的话。 (我正在使用 rails 5.0 和 ruby​​ 2.2)

我的目标是使用 Jquery_UI 为用户刷新页面的 Rails 项目制作一个可排序的列表,排序后的内容应该保留在上次存储的位置,我知道有很多方法可以做到这一点,最好是通过 ajax 请求完成, cookie,发布请求也不错。

到目前为止,可排序功能本身很简单,但是当我试图保存他们的最后一个位置时,我发现自己在 Rails 的工作逻辑上苦苦挣扎。

我完成了什么 1. 确认我的可排序列表的 Jquery_ui 代码有效(没有我损坏的 Ajax) 2.使用“序列化”并发出ajax请求(不确定我的代码是否正确)

我对什么感到困惑 3. 在构建我的 Ajax 请求时,我知道我需要将我的 rails 控制器的方法链接到 Ajax URL 以便将数据发送到我的数据库(或者我应该完全吗?)但我看不到如何找到写这个方法让我的控制器响应ajax?

还是我的思维过程不正确?我感谢所有可以帮助无知菜鸟的人。

我的 HTML

  <table>   
  <thead>
    <tr>
      <th>Name</th>
      <th>E-mail</th>
      <th>Location</th>
      <th>lead</th>
      <th>note</th>
    </tr>
  </thead>
     <% @user.each do |user| %>
  <tbody>
    <tr>
      <td><%= user.name %></td>
      <td><%= user.email %></td>
      <td><%= user.location %></td>
      <td><%= user.lead %></td>
      <td><%= user.note %></td>

    </tr>

    <% end %>
  </tbody>

我的 Jquery 代码

$("tbody").sortable(

  update: function(event, ui){


  axis: 'y',
  update: function (event, ui) {
    var order = $("tbody").sortable('serialize');
    $.ajax({
      data: order,
      type: 'POST',
      url: '/projects/save_position',
      success: function() {
        console.log("does it work?")
      }
    })
  }
}); 

rails 控制器中到 Jquery ajax 的路径 -> 项目

def save_sortable

order = param[:tbody]     # ????? don't know how to write this method

结束

【问题讨论】:

    标签: jquery jquery-ui ruby-on-rails-5 jquery-ui-sortable


    【解决方案1】:

    Rails 5 现在需要 Ruby 2.2.2 或更高版本,https://hashrocket.com/blog/posts/how-to-upgrade-to-rails-5 已发布一年。 Ruby 2.3.1 似乎是 Rails 5 的最低要求

    【讨论】:

    • 嗨!抱歉我的延迟回复,以为我的问题不会得到回答。出于所有尊重,我认为这个答案与我的问题无关,我使用的是 ruby​​ V2.3.3 和 rails5,我无法将排序顺序存储到数组中,所以当用户重置请求时,他们可以排序列表留在上次的位置。
    猜你喜欢
    • 2015-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-25
    • 1970-01-01
    • 2016-06-17
    • 1970-01-01
    • 2022-09-22
    相关资源
    最近更新 更多