`
ywencn
  • 浏览: 84928 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

zhuan//為Ruby on Rails程式加入拖曳排序功能~

阅读更多

来源: http://www.simplexteam.org/tips/ruby/77-ruby-on-rails-drag-and-drop-sort.html?tmpl=component&print=1&page=

 

要為Ruby on Rails程式加入拖曳排序功能~我們可以使用sortable_element helper function~
他可近呼自動地為程式加入拖曳排序功能
這個程式中會用到acts_as_list插件,請先行安裝~ 我們現在先用scaffold建立基本CRUD功能~

ruby generate scaffold task title:string
 position:integer

現在我們修改Task Model如下

class
 Task <
 ActiveRecord::Base

  acts_as_list
end

這樣便可以將其變成有序列表~
然後我們把Tasks Controller的index Action修改如下

  def
 index
    @tasks
 = Task.find
(
:all
, :order
 =>
 :position
)

 
    respond_to do
 |format|
      format
.html
 # index.html.erb

      format
.xml
  {
 render :xml
 =>
 @tasks
 }

    end

  end

這樣顯示時便會依照List的順序~
現在在layout中的tasks.html.erb的head中加入一行

<%
= javascript_include_tag :defaults
 %>

然後修改index View~

<h1>Listing tasks</h1>
 
<ul id='tasks'>
 
<%
 for
 task in
 @tasks
 %>

  <li id='task_<%
= task.id
 %>
'>
    <%
=h task.title
 %>

    <%
= link_to 'Edit'
, edit_task_path(
task)
 %>

    <%
= link_to 'Destroy'
, task, :confirm
 =>
 'Are you sure?'
, :method
 =>
 :delete
 %>

  </li>
<%
 end
 %>

</ul>
 
<br />
 
<%
= link_to 'New task'
, new_task_path %>

<%
= sortable_element 'tasks'
, :url
 =>
 {
:action =>
 :sort
}
 %>

現在便啟用了拖曳的功能了~不過拖曳後重新整理~位置並沒有更新~
那是因為我們還沒有增加sort Action~
現在到Tasks Controller中加入sort Action

  def
 sort
    params[
:tasks
]
.each_with_index
 do
 |id, position|
      Task.update
(
id, :position
 =>
 position +
 1
)

    end

    render :nothing
 =>
 true

  end

這樣~在重新整理之後~位置也是新的位置了^^

分享到:
评论

相关推荐

    ruby-pingyin ruby中将中文转化成拼音

    这样就用到了要从数据库中提取姓名姓氏首字母的功能。(即中文--&gt;拼音--&gt;首字母)。由于以前没有遇到类似问题,就google。终于找到一个好用的东西。ruby-pinyin。现在介绍给大家。 里面自带api。用法也很简单。 在...

    编码器计数

    bai_zhuan=(int)zhuan/100; shi_zhuan=(int)zhuan0/10; ge_zhuan=(int)zhuan; write_data(table[bai_fen]); write_data(table[shi_fen]); write_data(table[ge_fen]); write_data(table[12]); write...

    ruby中文转拼音的api

    在rails 中 把 pinyin.rb 及 dict 放到lib目录中。 在模型中引入文件。 require "pinyin" 按后实例化一个pinyin py = PinYin.instance py.to_pinyin_abbr("刘德华") #=&gt; ldh py.to_permlink('中文轉漢語拼音') ...

    rslidar雷达数据转velodyne数据功能包

    rslidar雷达数据转velodyne数据功能包

    Word排版应用神童教程

    小编语:随着计算机设备的不断普及,越来越多的办公自动化设备进入了...本文转自“赛迪网”-“电脑应用”-“办公自动化”专区:http://www0.ccidnet.com/school/zhuan/word.htm 在此向原作者表示敬意。 修订人:Abc5186

    soho网络zhuan钱的体会.doc

    soho网络zhuan钱的体会.doc

    zhuan 2.zip

    支持移动端的转盘抽奖,点击抽奖实现转盘抽奖,奖励在json文件中定义,也可以改成接口从后台获取,也可指定抽到的奖。

    c语言的一个管理系统

    printf("%10d%10s%10d%10s%10s%10s%10s\n",p-&gt;num,p-&gt;name,p-&gt;age,p-&gt;sex,p-&gt;xi,p-&gt;zhuan,p-&gt;add); p=p-&gt;next; } while(p!=NULL); } void main() { ID *head; int choise; printf("\t\t\t* * * * 李林C语言...

    网赚整站程序

    先打开conn.asp,把里面的"www.dd2d.cn/zhuan"改成你的网址 2.打开admin/conn.asp,把里面的"www.dd2d.cn/zhuan"改成你的网址 3.打开datebase/#33SSYY.MDB,打开里面的config,把里面的"www.dd2d.cn/zhuan"改成...

    map key and value

    map、 key' 和 value 的 取值 and so on

    Map_out.rar_Map o_mapgis_mapgis noteo_mapgis zhuan jpg_out

    mapgis二次开发转为jpg的功能,可以完美转换mapgis图形为jpg光栅图。

    ann(zhuan).rar_ANN

    本人转的别人写的人工神经网络的学习体会与感受,真是受益匪浅啊!

    zhuan-kai-fa

    zhuan-kai-fa

    最快最实用汉字转拼音软件

    - Jian / Fan Ti Han Zi Zhuan Huan Cheng Pin Yin 2.还能转换成带声调的拼音 - Hái Néng Zhuǎn Huàn Chéng Dài Shēng Diào De Pīn Yīn 3.全大写 This is an example!- THIS IS AN EXAMPLE! 4.全小写 ...

    2.6.14 内核移植说明文档(zhuan)

    2.6.14 内核移植说明文档 如果你是新下载的内核,那这一步就不用了。但如果你用的是别人移植好的内核,那最好在编译内核之前先清除一下中间文件,因为你们用来编译内核的交叉编译工具可能不同。

    zhuan_java_untilgw8_android_

    Android游戏源码最简单的打砖块游戏

    zhuan8.rar_kinect_人工势场法

    主要用于路径规划,程序读入之初,需要先读入Kinect相机拍摄的深度图像。

    gssdgv-zhuan-ke-master_java_

    是蚂蚁集团开源的基于 Spring Boot 的研发框架,它在 Spring Boot 的基础上,提供了诸如 Readiness Check,类隔离,日志空间隔离等等能力。

    JS/HTML/ASP 代码转换工具非常实用

    可以很方便的进行JS/HTML/ASP的代码互相转换

    C#代码重构 - Mr.Fu _Zhuan.mobi

    重构是迅速发现并修复有问题的代码的一种高效的方式。在《代码重构(c # & asp.net版)》中首次提供了在c#和asp.net中进行重构的专业方法,您将学习如何运用重构技术管理和修改代码

Global site tag (gtag.js) - Google Analytics