来源: 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
這樣~在重新整理之後~位置也是新的位置了^^
分享到:
相关推荐
这样就用到了要从数据库中提取姓名姓氏首字母的功能。(即中文-->拼音-->首字母)。由于以前没有遇到类似问题,就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...
在rails 中 把 pinyin.rb 及 dict 放到lib目录中。 在模型中引入文件。 require "pinyin" 按后实例化一个pinyin py = PinYin.instance py.to_pinyin_abbr("刘德华") #=> ldh py.to_permlink('中文轉漢語拼音') ...
`rslidar雷达数据转velodyne数据功能包`,正如其名,是一个专为将RoboSense LiDAR的数据转换成与Velodyne兼容格式的工具。这个功能包主要针对的是那些希望将rslidar数据应用于使用Velodyne数据处理流程的系统或算法...
《蚂蚁集团开源的Java研发框架——gssdgv-zhuan-ke-master_java_详解》 在现代软件开发中,高效、稳定且易维护的框架是项目成功的关键因素之一。蚂蚁集团作为全球知名的金融科技公司,其开源的Java研发框架——...
在这个名为"zhuan 2.zip"的压缩包中,包含了一个支持移动端的转盘抽奖程序。这个程序的核心是通过JavaScript实现,使得用户可以通过点击来触发抽奖过程,从而增加用户体验的趣味性和参与度。 首先,我们来看“转盘...
小编语:随着计算机设备的不断普及,越来越多的办公自动化设备进入了...本文转自“赛迪网”-“电脑应用”-“办公自动化”专区:http://www0.ccidnet.com/school/zhuan/word.htm 在此向原作者表示敬意。 修订人:Abc5186
"Map o_mapgis_mapgis noteo_mapgis zhuan jpg_out"这部分可能是描述了这个压缩包的主要功能或者过程,即MapGIS的二次开发功能,用于将MapGIS的地图数据转换成JPG格式的光栅图像。"o_mapgis_mapgis noteo_mapgis...
在给定的“zhuan-su-eliang.rar”压缩包中,包含了一个名为“zhuan su eliang.vi”的虚拟仪器(VI),这显然是一款用于转速测量的应用程序。 转速测量是机械工程、汽车工业、电力系统等领域中常见的技术需求。...
- 在这里需要启用`[*] MTD partitioning support`以支持分区功能。 - 接着进入`NAND Flash Device Drivers`配置界面,确保已经启用了NAND设备支持(`[*] NAND Device Support`)和针对S3C2410/S3C2440的NAND Flash...
自媒体新媒体软件工具自媒体zhuan钱秘诀资料
标题中的"z zhuan sec_EH4_EH4Z文件转SEC文件_"表明我们正在处理一个涉及到将EH4或EH4Z格式的文件转换为SEC格式的议题。这个过程可能涉及到特定的工具、编程语言或者协议,尤其是在嵌入式系统中,这些文件格式通常与...
ASP则是微软开发的一种服务器端脚本环境,用于生成动态、交互式的网页。在ASP中,开发者可以使用VBScript或JScript编写脚本,与服务器上的数据库或其他应用程序进行交互,生成动态内容。ASP.NET是ASP的升级版,提供...
标题 "zhuan_java_untilgw8_android_" 暗示了这是一个关于使用Java语言在UntilGW8平台上开发Android游戏的项目,特别是一款简单的打砖块游戏。在这个项目中,我们可以深入学习到Java编程语言、Android应用开发的基础...
- **goo 学网** (http://www.gooedu.cn/Article/en/zhuan4zhuan8/zhidao/) - **东方教育在线** (http://www.neworiental.org/) - **新东方英语 4+1 教程** (http://jxue.com/zt/05zt/zxyy/) - **新概念英语** ...
文档标题和描述中提到的是关于个人通过SOHO(Small Office Home Office)网络工作赚钱的体验,标签为“技术”,这表明讨论的核心是如何利用网络技术和自我经营来赚取收入。部分内容中,作者分享了自己从怀疑到加入...
20. **goo学网** (http://www.gooedu.cn/Article/en/zhuan4zhuan8/zhidao/):包含英语专业四级、八级的指导和资源。 此外,还有**东方教育在线** (www.neworiental.org/) 和 **新东方英语** 提供的4+1教程以及新...
先打开conn.asp,把里面的"www.dd2d.cn/zhuan"改成你的网址 2.打开admin/conn.asp,把里面的"www.dd2d.cn/zhuan"改成你的网址 3.打开datebase/#33SSYY.MDB,打开里面的config,把里面的"www.dd2d.cn/zhuan"改成...
本程序为一个基于Java Swing的ATM自动取款机模拟系统,实现了用户查询余额、取款、修改密码、转账以及存款等功能。 #### 2. 程序结构与组件 - **主类**:`ATM`类作为程序的主类,继承自`JFrame`,负责整个界面的...
"XUAN-ZHUAN-led.zip_旋转LED_旋转LED 自适应_自适应旋转LED"这个压缩包文件内容是关于实现旋转LED自适应转速的程序,其核心目标是让LED屏幕上的字幕能够流畅地滚动,并根据设备的转速自动调整滚动速度,以保持最佳...