RAILS PRESS RUBY on RAILS, it’s DRY and COOL …

RSS Feed

RAILS PRESS RSS

Tag Cloud

はてなブックマーク - railspress.matake.jp の注目エントリー
象形文字くさび形文字ミイラそろばんの玉そろばんコーラン占いの板?象牙大英博物館
« 前の3件
Tagged by Plugin

Posted on
2008/06/20

Tags
ActiveRecord, ActsAsBits, ActsAsSearchable, Plugin, Rails2.1, バグ

0 Comment

この記事をはてなブックマークに登録 この記事のはてなブックマーク数 この記事を livedoor クリップに登録この記事の livedoor クリップ数 このエントリを del.icio.us に追加
ブックマークに追加する

acts_as_bits PluginとRails 2.1のDirty tracking & Partial Updatesの相性が最悪

Rails 2.1系ではいくつか新機能が加わっていますが、「Partial Updates」もその一つです。

「Partial Updates」では、「Dirty tracking(Dirty Object)」というActiveRecordのモデルのattributesが変更されたかどうかをチェックする機能を使って、「変更された値のみをSQLに含める」ことを実現しています。

つまり、以下のようなコードを書いていても、実際に@personに変更が無ければ更新しないし、変更があった時でも変更点のみをSQLにしてくれるのです。

すばらしい!!

LANG : RUBY
  1. def edit
  2.   @person = params[:person]
  3.   @person.save!
  4. end

ところで、こいつは普通に使ってる分には本当に便利なのですが、どうも acts_as_bits と一緒には使えないっぽいです。

いま acts_as_bits を使った以下のようなモデルがあるとすると、

LANG : RUBY
  1. class Setting
  2.   acts_as_bits :operations => [:s1, :s2, :s3]
  3. end

こいつの変更が Dirty tracking で把握できていないようです。

» このエントリーには続きがあります。続きを読む »


Posted on
2008/04/20

Tags
OpenID, Plugin, ノウハウ

1 Comment

この記事をはてなブックマークに登録 この記事のはてなブックマーク数 この記事を livedoor クリップに登録この記事の livedoor クリップ数 このエントリを del.icio.us に追加
ブックマークに追加する

RailsのOpenID Authentication PluginをXRI対応にする方法

Railsコアチームが開発しているOpenID Authentication PluginがOpenID 2.0に対応しました。(これで以前のようにPatchを当てる必要もなくなる♪)

ただ、まだOpenId Authentication PluginはXRIでのログインには対応していないようなので、OpenID Authentication PluginをXRIに対応させてみました。

Gemで入るruby-openid 2.0.4は、軽くソースを眺めた感じではXRIにも対応しているようなので、OpenId Authentication Pluginのconsumer.beginにXRIを渡してやればいけるはず!ということで、変更点はnormalize_urlメソッドのみ。

RAILS_ROOT/vendor/plugins/openid_authentication/lib/openid_authentication.rb

のnormarize_urlを編集します。

» このエントリーには続きがあります。続きを読む »


Posted on
2008/03/29

Tags
ActsAsSearchable, Gem, Library, Plugin, ノウハウ

0 Comment

この記事をはてなブックマークに登録 この記事のはてなブックマーク数 この記事を livedoor クリップに登録この記事の livedoor クリップ数 このエントリを del.icio.us に追加
ブックマークに追加する

Railsアプリ内でRailsプラグインやGem、Rubyライブラリを拡張する方法

例えばRails Pluginを拡張する場合は、RAILS_ROOT/libにplugin拡張ライブラリ用のディレクトリを用意します。

lib/plugins.rb
lib/plugins/ext.rb
lib/plugins/ext/

AcsAsSearchableを拡張する場合は、lib/plugins/ext以下に以下のようにActsAsSearchableプラグインの構成と同じようにファイルを配置。

lib/plugins/ext/acts_as_searchable.rb
lib/plugins/ext/acts_as_searchable/
lib/plugins/ext/acts_as_searchable/acts_as_searchable.rb
lib/plugins/ext/acts_as_searchable/lib/estraierpure.rb

各ファイルの中身は以下のように記述します。

lib/plugins.rb

LANG : RUBY
  1. require File.expand_path(File.join(File.dirname(__FILE__), 'plugins', 'ext'))

» このエントリーには続きがあります。続きを読む »


« 前の3件
Pluginタグ