来源: 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数据功能包
小编语:随着计算机设备的不断普及,越来越多的办公自动化设备进入了...本文转自“赛迪网”-“电脑应用”-“办公自动化”专区:http://www0.ccidnet.com/school/zhuan/word.htm 在此向原作者表示敬意。 修订人:Abc5186
soho网络zhuan钱的体会.doc
支持移动端的转盘抽奖,点击抽奖实现转盘抽奖,奖励在json文件中定义,也可以改成接口从后台获取,也可指定抽到的奖。
printf("%10d%10s%10d%10s%10s%10s%10s\n",p->num,p->name,p->age,p->sex,p->xi,p->zhuan,p->add); p=p->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' 和 value 的 取值 and so on
mapgis二次开发转为jpg的功能,可以完美转换mapgis图形为jpg光栅图。
本人转的别人写的人工神经网络的学习体会与感受,真是受益匪浅啊!
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 内核移植说明文档 如果你是新下载的内核,那这一步就不用了。但如果你用的是别人移植好的内核,那最好在编译内核之前先清除一下中间文件,因为你们用来编译内核的交叉编译工具可能不同。
Android游戏源码最简单的打砖块游戏
主要用于路径规划,程序读入之初,需要先读入Kinect相机拍摄的深度图像。
是蚂蚁集团开源的基于 Spring Boot 的研发框架,它在 Spring Boot 的基础上,提供了诸如 Readiness Check,类隔离,日志空间隔离等等能力。
可以很方便的进行JS/HTML/ASP的代码互相转换
重构是迅速发现并修复有问题的代码的一种高效的方式。在《代码重构(c # & asp.net版)》中首次提供了在c#和asp.net中进行重构的专业方法,您将学习如何运用重构技术管理和修改代码