原文地址
在ruby on rails环境下使用restfulx框架来实现的一个flex应用(5分钟搞定的demo):
首先需要搭建的环境
ruby187+ rails2.2.2+
Flex SDK 3.4+
MySQL 5.0+
1.ruby187,rails222,mysql5的安装可以参见我的下面这篇文章
在leopard中使用MacPorts(DarwinPorts)
2.下载flex sdk 3.4
把下载到的flex sdk 3.4.rar解压到文件夹/opt下,在~/profile中添加环境变量:
#flex sdk 3.4
export PATH=/opt/flex_sdk_3.4/bin:$PATH
环境搭建好以后:
$>sudo gem install restfulx
$>rails -d mysql pomodo
$>cd pomodo
编辑config/environment.rb文件,添加如下内容:
Rails::Initializer.run do |config|
...
config.gem "restfulx"
...
end
执行语句:
$>./script/generate rx_config
创建一个yml文件: db/model.yml:
$>touch db/model.yml
编辑db/model.yml 文件内容如下:
location:
- name: string
- notes: text
- belongs_to: [user]
- has_many: [tasks]
project:
- name: string
- notes: text
- start_date: date
- end_date: date
- completed: boolean
- belongs_to: [user]
- has_many: [tasks]
task:
- name: string
- notes: text
- start_time: datetime
- end_time: datetime
- completed: boolean
- next_action: boolean
- belongs_to: [project, location, user]
note:
- content: text
- belongs_to: [user]
user:
- login: string
- first_name: string
- last_name: string
- email: string
- has_many: [tasks, projects, locations]
- has_one: [note]
下面就可以生成应用程序了:
$>./script/generate rx_yaml_scaffold
$>rake db:refresh
$>rake rx:flex:build
$>./script/server
现在打开浏览器输入http://localhost:3000
就可以看到这个flex应用了!
将程序转换成AIR应用
$>./script/generate rx_config -a
$>rake rx:air:build
$>rake rx:air:run
把AIR应用再转换回到flex
$>./script/generate rx_config
更多提示:
从restfulx和ruby on rails开始 – 这个教程和本文所讲述的内容类似,而且还有关于用db/model.yml这个yaml文件来构建flex+rails应用的更多细节。
如果你已经有一个做好的rails程序,现在你想加入flex,可以使用
rake db:schema:to_yaml,这样可以生成一个model.yml的文件,它是用你已有的schema.rb文件生成的。如果你不确定你的schema.rb文件是不是最新的,那么你可以在使用rake db:schema:to_yaml命令前执行
rake db:schema:dump来刷新schema.rb文件。一旦你有一个model.yml文件以后,只要在rails程序的根目录运行
./script/generate rx_yaml_scaffold --flex-only命令即可。
当用代码生成的方式成为你学习flex的开端,那么很快你就可以了解整个框架的内容。好好看看用命令生成的代码,并且参考Working with RestfulX Models获取更多的信息。
更多关于RestfulX 框架的内容可以参考RestfulX Framework Wiki
还想看一个复杂点的例子?参见Pomodo On Rails
职场flex休闲ROR