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

rails:2883

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

回答ありがとうございます。
"#{self.foo}#{self.bar}"とすることで
エラーが出なくなりました。


Andy Matsubara さんは書きました:
> 回避策としては
>  "#{foo}#{bar}"
> を
>  "#{self.foo}#{self.bar}"
> とすればいいのではないかと思います。
> 自分は癖で,いつもselfを付けて書いていたので
> 仕様が変わったのかどうかそのあたりは気付きませんでした。
> 
> Andy
> 
> 2008/10/21 18:39 久野@サイベイト <hisano@s...>:
>> 久野と申します。
>>
>> 最近、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/
>>
> 
> --
> ML: rails@r...
> 使い方: http://QuickML.com/
> 


-- 
Hope the innovation in the sign-trading relations.
サイベイト株式会社
企画部マネジャー
久野 孝泰
hisano@s...
http://www.signovate.co.jp/

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