TaskManager
TaskManager是一个可挂载的Rails引擎(Mountable Rails Engine),因此您可以在Rails应用中通过挂载的方式来使用。另外,TaskManager使用了PostgreSQL的hstore特性,因此TaskManager只能工作在PostgreSQL数据库之上。
屁话:鉴于PostgreSQL的宽松的免费使用政策,以及其越来越出色的性能,强烈建议您使用之。
依赖
- PostgreSQL数据库
# Ubuntu
sudo apt-get install postgresql-contrib
安装
- 安装Gem包
在您的Rails应用程序的Gemfile文件中添加:
gem 'task-manager', '~>0.1.3'
然后,运行bundle install
。
创建数据库表
- 生成数据库迁移文件
rake task_manager:install:migrations
- 创建数据库表
rake db:migrate
使用说明
挂载TaskManager API
编辑config/routes.rb
文件,在其中挂载TaskManager路由。
mount TaskManager::Engine => "/task-manager"
使用rake
routes
命令,检查是否正常挂载成功。如果挂载成功,命令行中将会有如下输出:
Routes for TaskManager::Engine:
api_plans GET /api/plans(.:format) task_manager/api/v1/plans#index {:format=>"json"}
POST /api/plans(.:format) task_manager/api/v1/plans#create {:format=>"json"}
api_plan PUT /api/plans/:id(.:format) task_manager/api/v1/plans#update {:format=>"json"}
DELETE /api/plans/:id(.:format) task_manager/api/v1/plans#destroy {:format=>"json"}
api_tasks GET /api/tasks(.:format) task_manager/api/v1/tasks#index {:format=>"json"}
api_task DELETE /api/tasks/:id(.:format) task_manager/api/v1/tasks#destroy {:format=>"json"}
详细的接口使用说明请查看TaskManager API文档
界面
ExtJS
- 导入资源文件
在app/assets/javascripts/application.js
文件中添加:
// 代码需要放置在导入ExtJS库之后
//= require task-manager/extjs
在app/assets/stylesheets/application.css
文件中添加:
/*= require task-manager/extjs */
开发指南
- 安装依赖包
bundle install
- 创建数据库
cd path/to/task-manager/spec/dummy
# 说明:需要根据您安装的数据库设置,修改path/to/task-manager/spec/dummy/config/database.yml中的相应配置
# 创建开发数据库
rake db:create db:migrate db:seed RAILS_ENV=development
# 创建测试数据库
rake db:create db:migrate db:seed RAILS_ENV=test
- 运行后端测试(Ruby)
cd path/to/task-manager
rake
- 运行前端测试(Javascript)
cd path/to/task-manager/spec/dummy
rails s
然后,打开浏览器访问:http://localhost:3000/siesta。 待页面打开后,点击打开页面的运行按钮进行前端测试。
- 查看Demo应用
cd path/to/task-manager/spec/dummy
rails s
然后,打开浏览器访问:http://localhost:3000/extjs。