TOPシステム開発> RoR側で登録した付箋の表示
Ruby on RailsとAdobe AIRでデスクトップアプリを作る
Ruby on RailsとAdobe AIRでデスクトップアプリを作る

第5回:どこでも付箋紙にアクセス!

著者:ワイズノット  増井 雄一郎   2007/9/27
前のページ  1  2  3
RoR側で登録した付箋の表示

   次にこのコードにE4XによるXMLの解析を加え、それを画面に反映させます。sticky.xmlで取得できるxy座標は0.0〜1.0の実数になっているので、画面に表示させるときには画面サイズをかけています。

   先ほどのmenu.mxmlのload関数(11〜19行目)を下記のように変更します。
memu.mxml
memu.mxml
(画像をクリックすると別ウィンドウに拡大図を表示します)

   次に「読み込み」ボタンを押すと、RoR側で登録した付箋が画面にあらわれました。

RoR側で登録した付箋の表示
図4:RoR側で登録した付箋の表示
(画像をクリックすると別ウィンドウに拡大図を表示します)

   もちろん、自由に動かしたり追記することができます。これで、かなり付箋紙アプリケーションっぽくなりました。

   最後に保存です。先ほど、menu.xmlで「保存」ボタンを押したときに「save();」を呼ばれるように設定したので、次はsave関数に保存するプログラムを追加しましょう。menu.mxmlに下記の文を追加してください。

memu.mxml
memu.mxml
(画像をクリックすると別ウィンドウに拡大図を表示します)

   これで、付箋の内容を書き換えてRoR側の情報を見てみましょう。付箋の位置やサイズ、内容がそのままRoR側に反映されています。もちろん、一度終了して再度起動後、読み込みを押すと、先ほどの付箋が読み込まれます。

   これで、付箋紙アプリケーションとしては完成。と言いたいところですが、まだ1点残っています。実は「新規」ボタンで付箋を作った後、保存しようとするとエラーが起こってしまいます。

   新規の付箋を保存する場合には、上書き保存と違うURLへアクセスする必要があります。新規保存の場合には「http://localhost:3000/stickies.xml」へPOSTメソッドでデータを送る必要があります。

   新規の付箋のidは-1なので、それで判断して、リクエスト先を変更します。34〜35行を下記のように差し替えてください。

memu.mxml
memu.mxml
(画像をクリックすると別ウィンドウに拡大図を表示します)

   これで、新規登録した付箋は、RoR側でも新規作成されるようになりました。


最後に

   さて、長かった「AIR + RoR」による付箋紙アプリケーションの構築ですが、これで完成です。

   RoRサーバを外部からもアクセスできるようにして、そのアドレスをmenu.mxmlに書き込めば、どのPCからも同じ付箋にアクセスすることができます。もちろん、WebブラウザからRoRで作ったアプリケーションにアクセスすることで、様々な端末からメモを読み書きすることもできます。実際のところこれを外部に公開するには、認証などのセキュリティ機構が必要になります。

   また現在読み込みボタンを複数回押すと、同じ付箋が複数生成され、挙動がおかしくなったりと、まだまだ不都合な点が残っています。この連載は今回で終わりですが、ぜひこのソースを元に自分専用の付箋紙アプリケーションケーションを構築してみてください。

   また、この原稿の元ネタとなったAIR + RoRを用いた付箋サービスSticka.jpを現在公開してます。もしよろしければ、こちらも試してみてください。


前のページ  1  2  3


株式会社ワイズノット 増井 雄一郎
著者プロフィール
株式会社ワイズノット  増井 雄一郎
PukiWikiなどのオープンソース活動を経て、2005年からRuby on Railsに的を絞り、2006年はRubyに関する仕事のみで生計をたてる。これまでのフリー活動から転身し、アメリカ行きを目指して2007年4月に(株)ワイズノットに入社。クロスメディア事業部でSaaSプラットフォームの構築に従事。現在の興味はテキストマイニング。


INDEX
第5回:どこでも付箋紙にアクセス!
  付箋っぽいウィンドウを作ろう
  AIRとRuby on Railsを繋ぐ!
RoR側で登録した付箋の表示