11/26/2007

activescaffold : rails レシピ

Active ScaffoldはAJAXなインターフェースを提供してくれるrailsのプラグインです。やりかた。

  1. rails phonebook
  2. cd phonebook
  3. ./script/plugin install http://activescaffold.googlecode.com/svn/tags/active_scaffold
  4. ./script/generate model Address # モデルを作る。migrationの作成ファイル./db/migration/001_create_adddres.rbができるが、無視しておく。
  5. ./script/generate controller address # コントローラーを作る
  6. ./app/controller/address_controller.rbを開いて次の2行を挿入。
    active_scaffold :address
    layout "address_layout"
  7. ./app/views/layouts/address_layout.rhtmlを作成して次のようなrHTMLコードを挿入。


    <%= javascript_include_tag :defaults %>
    <%= active_scaffold_includes %>

  8. ./script/server
  9. scaffoldのあり方が根本的に変わるかも。
    http://wota.jp/ac/?date=20071110#p01
    が参考になります。

9/20/2007

railsでgettext+gettext_scaffoldを使って早く日本語対応WebDBを作る方法 - その2

gettext_scaffoldは日本語のラベル表記を管理するのに便利だが,どうもうまく動作しなかった。:action => :list で指定されているリンクで表示にエラーがでまくる。関連資料を探すとこちらにgettext_scaffoldの怪しいところを修正したパッチがあったので適用してみた。


cd vender/plugin/gettext_scaffold
patch -p 0 < gettext_scaffold_39.patch


オプション-p 0を付けないとパッチが適用されなかったが。それでも適用は未完であった。SVNのheadと修正分の差分とのことだったが,SVNのheadといっているソースが違うのか?

とにかく、無理矢理パッチしてgenerator/gettext_scaffold/template以下のファイルを少し修正しなければならない。このフォルダにあるrhtmlファイルでrender 'show'となっているところを render 'form'と書き換える。どうやらパーシャルの指定が不十分のようだ。とりあえず、デフォルトで使われている_form.rhtmlを使えばエラーは出ない。ここまでの作業を ./script/plugin install svn://.../gettext_scaffoldの後に行って,次の作業をおこなう。


  • rake gettext:setup
  • ./script/generate model テーブル名
  • migrateファイルを編集してテーブル定義
  • rake db:migerate
  • ./script/generate gettext_scaffold テーブル名
  • rake gettext:update_po
  • poファイルを編集
  • rake gettext:make_mo


テーブルが既に定義されている場合は generate gettext_scaffoldから行ってもよい。ふー

8/20/2007

railsでgettext+gettext_scaffoldを使って早く日本語対応WebDBを作る方法

↑そういうことで備忘録。
  1. rails proj ; cd proj # railsでプロジェクト作成。
  2. mysql ; create database proj # MySQLサーバにデータベースを登録。
  3. ./script/plugin install svn:/rubyforge.org/var/svn/gettextscaffold/gettext_scaffold # プラグインインストール
  4. rake gettext:setup # GetTextの準備
  5. ./config/enviroment.rbの最後に次の2行をいれる。
    require 'gettext/rails'

    GetText.locale ='ja'
  6. さらに、./app/controller/application.rbに次の1行をいれる。
    init_gettext 'プロジェクト名'

  7. ./script/generate model Table # モデルを作成
  8. ./db/migrate/001_create_tables.rb を編集してやる
  9. rake db.migrate # MySQLにテーブルを作成
  10. ./script/generate gettext_scaffold Table # GetText雛型を作成
  11. rake gettext:update_po
  12. ./po/ja/Table.poを編集。日本語ラベルを定義
  13. rake gettext:make_mo
おおよその流れはこうです。

8/10/2007

Ubuntu 7.04 FeistyでのRails - つづき

家で仕事はしないつもりだったが、自宅のノートPCにもRails+GetText環境を入れておこうと思っていると、またまたはまってしまった。折角の週末の夜に仕事をするものだから、新婚の妻はふて寝してしまった。

今日見つけた方法、つまりgem,rails以下aptを使わない直接叩き込む方法でインストールしていると、最後のgettextでたくさんエラーが出てきた。mswin用のgettextなら入るが、rake gettext:***でうまくいかない(あたりまえか)。ruby-gettextインストール時のエラーを見ると、stdio.hが無い!とか言われている。




えー!標準ヘッダがないの〜?

updatedbしてlocate stdio.hでも見当たらない・・・・・

'ubuntu stdio.h'でぐぐったら、やっぱり・・・・orz

ubuntuはデフォルトでちゃんとC開発環境がインストールされないこともあるそうだ。debパッケージ build-essentialをインストールする。無事ruby-gettextがインストールされる。

Ubuntu 7.04 FeistyでのRails

Ubuntu 7.04 FeistyでパッケージマネージャでインストールしたRailsでのトラブル記録。

  1. gettext_scaffoldを導入し国際化したWebアプリケーションは、scaffoldが吐いたコントローラのメソッドcreateで"stack level too deep "といって、どうやら無限ループに行ってしまうようだ。
  2. つらつら情報を探しているうち こういう 情報を入手。
  3. どうも、libgettext-ruby-1.8パッケージのバージョンが良くないようだ、アップデートしようと思ったがない。こまった。
  4. いっそ、gemを叩いて直接gettext-rubyをインストールしよう。そう思い立ってgettext-ruby-1.10.1をインストールしてみる。1で起こったようなループが起こらず処理が帰ってきている。よかた。
  5. ところが、poファイルを更新する等してrake gettext:make_moなどをおこなうと "gettext/utils"がありませんよといわれる。どうやらrakeが見ているディレクトリがうまく設定されていないようだ。
  6. しかたないので、ubuntuパッケージで提供されてるrails, rubygems(え?これも!!)のパッケージを削除し、直接インストールする。
  7. gemでrails、gettextをインストールすると件のWebアプリケーションは正常に動いた。
パッケージマネージャでruby関係をインストールするとgem周りで不具合(ディレクトリ構成の違い)があるらしい。
ちなみにubuntu提供のrailsで作ったWebアプリは/usr/shareあたりにシンボリックリンクを張るので、ソースをtarでかためてもっていくなど、可搬性がない。railsはパッケージでなく、gemでインストールというのは鉄則のようだ。

10/20/2006

タグはAND検索がよいのか、OR検索がよいのか

リンクをdeliciousに移行して思った。

個々のリンクをタグ付けしたのだが、2つ以上のタグはAnd的なのかOr的なのか。

タグ付けたれたリンク群でリンク集を作るときは、共通のタグを決めておいてそのタグでリンクをさらってくればよい。
(例:http://del.icio.us/biwanoin/lutheir lutheirが付いたリンク )他のタグはあまり気にしていない。射影しているようにも思える。

10/19/2006

Plnet.jpは簡易MashUp?

MashUpはREST+Ajaxで,XMLHttpRequestでXMLデータを受け取り,JavaScriptを使ってごにょごにょHTMLを生成 するのですが,それも面倒なので,RSSフィードを利用してXMLをそのままRDFに丸投げしているっぽいのが,Plnet.jpです.RSSフィードを 提供しているブログ,ブックマークサイトなどなど,自分の持っているWeb2.0的サービスを登録すると,まとめて一覧表示しています.一応アカウントを 作ってHTMLにしてはいるのですが,フィードにして表示もRSSリーダに任せてしまうと,手抜きのMashUpということでしょうか.


Plnet
RSSフィード 

今日の「タグ」
「これはひどい」
「これはすごい」
「まとめ」
「参考」
「参考になる」

10/18/2006

計画+調査=「あとから読む」タグ?

もとのブログはこちらでした.乗り換えです.

今仕事の計画書を書いております.計画は出来ることを計画するのではなく,今までにやられていなかった,もしくは出来てなかったことを計画するのだということを本当に実感しております.どうも出来ることでお茶を濁そうとする傾向があります.

さて,計画書の関係で今日はタグ情報に関する調査をやっておったわけですが,popularタグやrecentタグの中に「あとから読む」というタグを見つけました.SBSサイトdeliciousのあるユーザが付けていたのです.

RSSフィードを眺める
↓
気を引く記事を読む.
↓
興味があるが重たい記事
↓
「あとから読む」タグを付けて残す

お そらく「あとから読む」タグのついた記事群の半分は読まないのかもしれないが,これを使っているユーザのかつて興味のあったことやこれから興味を持ちそう なことに関係するのかもしれない.興味の方向性とかを調べる指標になるかも.こういうプライベートな意味を持ち,メタ的に使われるキーワードを探してみた ら面白いかもと思います.