`
xf986321
  • 浏览: 163892 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

rails 拖拉排序效果demo

阅读更多

        要為Ruby on Rails程式加入拖曳排序功能~我們可以使用sortable_element helper function
他可近呼自動地為程式加入拖曳排序功能

script/plugin install git://github.com/rails/acts_as_list.git
 

這個程式中會用到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} , :constraint => false, :tree => true, :dropOnEmpty => true, :complete => visual_effect(:highlight, 'tasks') %>

 这里加上了高亮显示的功能,可以支持树的拖拉

現在便啟用了拖曳的功能了,不過拖曳後重新整理,位置並沒有更新
那是因為我們還沒有增加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

 
分享到:
评论

相关推荐

    Ajax-rails-ajax-demo.zip

    Ajax-rails-ajax-demo.zip,ruby on rails的ajax演示项目,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的...

    ruby rails demo

    ruby rails demo, rails 简单demo。 (1)到ruby官网:http://www.ruby-lang.org/en/下载window安装包,并安装, ruby版本: ruby -v (2)安装Rails3 gem install rails (3)安装sqlite3 gem install sqlite3-ruby 安装...

    ruby on rails活动发布demo,intellij项目

    在这个"ruby on rails活动发布demo,intellij项目"中,我们可以深入学习Rails如何处理Web应用中的数据模型、视图和控制器,以及如何在IntelliJ IDEA这样的集成开发环境中进行高效开发。 首先,`meetup_development....

    rails2.3.8 && ruby1.8.7

    标题中的"rails2.3.8 && ruby1.8.7"指的是Ruby on Rails框架的2.3.8版本和Ruby编程语言的1.8.7版本。Ruby on Rails(通常简称为Rails)是一个基于Ruby语言的开源Web应用程序框架,它遵循模型-视图-控制器(MVC)架构...

    rails_docker_demo:在生产环境中使用 Docker + Fig 的 Rails 应用程序演示

    rails_docker_demo

    rails-capybara-demo

    `rails-capybara-demo`项目为我们提供了一个实战示例,展示了如何在Rails应用中使用Capybara进行集成测试,特别是在处理包含JavaScript的页面时。通过Capybara,我们可以编写出更加贴近真实用户交互的测试,而...

    Rails 101 入门电子书

    - 排序优化: 按发布时间或热度排序。 #### 十三、练习作业6-重构代码 - **目标**: - 提高代码质量和可维护性。 - **方法**: - 使用系统helper简化模板。 - 自定义helper函数封装复杂逻辑。 通过以上内容的...

    Rails101_by_rails4.0

    《Rails101_by_rails4.0》是一本专注于Rails 4.0.0版本和Ruby 2.0.0版本的自学教程书籍,它定位于中文读者,旨在成为学习Rails框架的参考教材。Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它...

    Rails项目源代码

    Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...

    关于rails 3.1 cucumber-rails 1.2.0

    Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...

    webauthn-rails-demo-app:演示无密码登录的WebAuthn的Rails应用

    选项2-在本地运行先决条件Ruby纱线(或npm) PostgreSQL建立$ git clone https://github.com/cedarcode/webauthn-rails-demo-app$ cd webauthn-rails-demo-app/$ cp .env.example .env$ bundle install$ yarn ...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    - **效果**:这将在应用中增加一个新的URL路径,指向指定控制器的动作。 #### 七、渲染视图 - **方法**:在控制器中使用`render`方法来显示特定的视图文件。 - **视图文件**:通常使用ERB模板语言来编写视图文件,...

    rails2-sample

    从给定的文件信息来看,我们正在探讨的是一本关于Ruby on Rails的书籍,书名为《Simply Rails2》,作者是Patrick Lenz。本书旨在为初学者提供深入理解Ruby on Rails框架的指南,从基础概念到高级主题均有涵盖,是...

    Rails

    标题 "Rails" 指的是 Ruby on Rails,一个开源的Web应用程序框架,它基于Ruby编程语言,遵循MVC(模型-视图-控制器)架构模式。Rails由David Heinemeier Hansson在2004年创建,其设计理念是强调代码的简洁性、DRY...

    rails_docker_demo

    自述文件带有React的Rails 6应用程序rails webpacker:安装rails webpacker:安装:Reactrails g react:安装

    Ruby on Rails Tutorial

    学习英语这门世界语言是很重要的,但先通过母语学习往往会更有效果。正因为这样,当看到 Andor Chen 把《Ruby on Rails Tutorial》翻译成中文时,我很高兴。 我从未到过中国,但一定会在未来的某一天造访。希望我到...

    rails-demo:Ruby on Rails演示

    自述文件该自述文件通常会记录启动和运行应用程序所需的所有步骤。 您可能要讲的内容: Ruby版本系统依赖配置数据库创建数据库初始化如何运行测试套件服务(作业队列,缓存服务器,搜索引擎等) 部署说明......

    rails指南 中文版

    Rails指南中文版是针对Ruby on Rails框架的一份详尽教程,旨在帮助开发者深入理解并熟练掌握这个强大的Web应用开发工具。Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-...

    使用Aptana+Rails开发Rails Web应用(中文)

    在开发Web应用时,Ruby on Rails(简称Rails)框架因其高效、简洁的代码风格和强大的社区支持而备受青睐。Aptana是一款强大的集成开发环境(IDE),尤其适用于Rails项目的开发,它提供了丰富的特性来提升开发效率。...

    Ruby on Rails安装指南(Ruby 1.8.6+Rails 2.0.2)

    Ruby on Rails 安装指南 Ruby on Rails 安装指南是指安装 Ruby 1.8.6 和 Rails 2.0.2 的详细步骤。首先,需要下载 Ruby One-Click Installer 版本,并安装 Ruby。然后,下载 Rails 2.0.2 版本,并安装。接下来,...

Global site tag (gtag.js) - Google Analytics