[前][次][番号順一覧][スレッド一覧]

rails:2881

From: 久野@サイベイト <hisano@s...>
Date: Tue, 21 Oct 2008 18:39:31 +0900
Subject: [rails:2881] ActiveRecord2.1にて、メソッド内からDBデータを呼び出せない

久野と申します。

最近、railsのバージョンを1.2系から2.1系にアップしたのですが、
テーブルの属性値にクラスの内部からアクセスしようとすると、
以下のようなエラーが出るようになりました。


■環境
rails 2.1.1
activerecord 2.1.1
mysql 2.7


■DB
projects(id integer, foo string, bar string)


■class定義
class Project << ActiveRecord::Base
  def foobar
    "#{foo}#{bar}"
  end
end

■実行内容
$ ruby script/console
Loading development environment.
>> prj = Project.find(1)
=> #<Project:0x7f545be4 @attributes={"id"=>"1", "foo"=>"foo","bar"=>""}>

>> prj.bar
=> ""

外部からの呼び出しは問題なし


>> prj.foobar
NameError: undefined local variable or method `bar' for
#<Project:0xb78ba530>
        from
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.1/lib/active_record/attribute_methods.rb:256:in
`method_missing'
        from /home/***/***/app/models/project.rb:**:in `foobar'
        from (irb):2
>>

!!属性値barをメソッド内から呼び出すと上記のエラーが出る。


どなたか原因や回避策などご存知でしたらご教授お願いします。
なお、関係ないと思われる部分は削除してあります。

-- 
久野 孝泰
hisano@s...



--
ML: rails@r...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

->    2881 2008-10-21 11:39 [hisano@s...         ] ActiveRecord2.1にて、メソッド内からDBデータを呼び出せない
      2882 2008-10-21 11:58 ┣[andymatsubara@g...  ]                                       
      2883 2008-10-21 12:21 ┃┗[hisano@s...         ] Re: ActiveRecord2.1にて、メソッド内からDBデータを呼び出せない【解決】
      2884 2008-10-21 12:39 ┗[sakuro@2...         ]                                       
      2885 2008-10-21 14:24  ┗[hisano@s...         ]