在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
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
本文转自 fsjoy1983 51CTO博客,原文链接:http://blog.51cto.com/fsjoy/209376,如需转载请自行联系原作者