原文地址
在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