FileMakerとRubyのSinatra

Sinatraのチュートリアルを少し触って、これなら簡単にFileMakerと接続出来るんじゃない?

と思ったのでやってみました。

gihyo.jp:第9回 SinatraとSequel・Hamlで掲示板アプリを作る

http://gihyo.jp/dev/serial/01/ruby/0009

が自分がチュートリアル(以下、見本)としてやってみみたもので、これのmodel部分をFileMakerに

置換えました。

※FileMakerやRuby、Sinatraそのものの細かい説明は省きます。

最終的な階層は以下(見本のファイルも混在してます)

FileMaker部分

・bbsテーブルの作成、カラムは見本のapp/model/comment.rb内で定義しているクラス

Commentsを真似て定義。但し、posted_dateはFileMaker側ではtimestamp型で作成時に自動で

現在のタイムスタンプが入るよう設定。

Ruby部分

・app/model/comment.rbにFileMakerとの接続クラス追加

—以下をcomment.rbに追加—

・hamlを編集(追加)

—app/view/fmbbs.haml

※HamlはPythonのようにインデントが文法になってるので注意!

・app/start.rbを編集

—app/start.rbを以下のように変更—

・rfm(lardawge-rfm)をインストールするの忘れずに!

$ sudo gem install lardawge-rfm

GitHub:https://github.com/lardawge/rfm

これでstart.rbのある位置をカレントにして

$ ruby -rubygems start.rb

これで

http://localhost:4567/fmbbs

で試せます。簡単ですね!

今回、自分がつまずいた所は、

1,rfm経由でFileMakerにレコード作成(多分編集も同じ)でtimestamp型のカラムに値を

設定するための方法が分からなかった。※DateTime型だとエラーになる、整形してもエラー

になる。なんでや!

→読み込みは出来るので、FileMaker側で作成時自動で値設定にした。

2,投稿済みデータの降順ソートがうまくいかない!

→lardawge-rfmでは降順の指定が”desc”ではなく、”descend”だった。

Railsでやるほどじゃないけどちょっと簡単にFileMakerとWebアプリつなぎたいとか、これで

どうでしょうか?