warning: Object#id will be deprecated; use Object#object_id

has_manyとbelongs_toを使ってthroughオプションを使っていると出やがった。

warning: Object#id will be deprecated; use Object#object_id

クラスの関係はこんな感じにした。

class Machine::Mono < ActiveRecord::Base
  has_many :monoitems
  has_many :monorents, :through => :monoitems

class Machine::Monorent < ActiveRecord::Base
  has_many :monoitems, :class_name=>'Monoitem', :dependent=>:destroy
  has_many :monos, :through => :monoitems

class Machine::Monoitem < ActiveRecord::Base
  belongs_to :monorent
  belongs_to :mono

事件はコントローラーの中で起こっている。

userentlist = Machine::Monorent.find(:all,
              :include=>[:monotimes, :monoitems])

userentlist.each{ |rl|
            unless rl.monoitems.blank?
              pp "mono items", rl.monoitems
              pp "mono", rl.monos.id
            end
            }

実際には「rl.monos.id」で出ている。
 
いろいろ試す。

p "mono", rl.monos
rl.monos.each{|mo|
  p "mo id", mo.id
}

こんな感じにすると取り出せた。
 
出来てみれば「そりゃそーだ」って感想です。固定値じゃないんだもんな・・・