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

RSS Feed

RAILS PRESS RSS

Tag Cloud

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

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/02/08

Tags
Gem, OpenID, Plugin, Rails2.0, トラップ, バグ

3 Comments

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

OpenId Authentication Pluginのサンプルにはまった。

最近RailsのOpenIdAuthentication Pluginに挑戦しています。

open_id_authenticationプラグインの導入はこちらを参考にしました。

open_id_authentication*[認証][Rails] open_id_authenticationをつかってみる - KazusaAPI開発日誌 - KDRIグループ

koress.jp: 解消法: open_id_authenticationプラグイン(rails 2.0.2)

サンプルを動かしてみてOpenID Profider(IdP)からリダイレクトされてくるところまではスムーズに行ったのですが、その後のレスポンスを解析する部分で、このプラグインに添付してあるサンプルソースに潜んだバグ(?)にはまりました。

具体的にハマったのは、サンプルソース内の以下の部分で使われているcase .. when構文の比較ルール。

LANG : RUBY
  1. authenticate_with_open_id do |result, identity_url|
  2.   case result
  3.   when :missing
  4.     failed_login "Sorry, the OpenID server couldn't be found"
  5.   when :canceled
  6.     failed_login "OpenID verification was canceled"
  7.   when :failed
  8.     failed_login "Sorry, the OpenID verification failed"
  9.   when :successful
  10.     if @current_user = @account.users.find_by_identity_url(identity_url)
  11.       successful_login
  12.     else
  13.       failed_login "Sorry, no user by that identity URL exists (#{identity_url})"
  14.     end
  15.   end
  16. end

ここでは以下のような評価を想定されているようです。

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


Posted on
2007/10/25

Tags
Plugin, バグ, 疑問、質問

0 Comment

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

ActsAsAuthenticated (acts_as_authenticated)の脆弱性??

RAILS PRESS » [PRESS 0016] acts_as_authenticated Plugin + acts_as_cachedのセットがいい感じです。で紹介したActsAsAuthenticatedプラグインですが、昨日一カ所気になった点があったので、libを直接変更しちゃいました。

ひとまずActsAsAuthenticatedの提供元(?)にもコメントをしておいたのですが、実際に僕のコードで問題が解決できるのかどうかはいまいち自信が無いので、もっといい解決法があれば教えていただけたりすると嬉しいです♪

コメントしたのはココね ⇒ Acts as Authenticated : Discuss

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


バグタグ