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... ]