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
これで
で試せます。簡単ですね!
今回、自分がつまずいた所は、
1,rfm経由でFileMakerにレコード作成(多分編集も同じ)でtimestamp型のカラムに値を
設定するための方法が分からなかった。※DateTime型だとエラーになる、整形してもエラー
になる。なんでや!
→読み込みは出来るので、FileMaker側で作成時自動で値設定にした。
2,投稿済みデータの降順ソートがうまくいかない!
→lardawge-rfmでは降順の指定が”desc”ではなく、”descend”だった。
Railsでやるほどじゃないけどちょっと簡単にFileMakerとWebアプリつなぎたいとか、これで
どうでしょうか?