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

rails:1276

From: "swallow@r..." <swallow@r...>
Date: Thu, 22 Jun 2006 23:04:26 +0900
Subject: [rails:1276] Active Record【compute_typeのエラー】

はじめまして。望月と申します。

今回RoRを使ったデータベースアクセスで苦戦しております。
概要といたしましては、Action Controller の
GuestController < ApplicationController クラスの、
compliteというメソッドの中から、modelにアクセス(findメソッド)すると以下
のようなエラーが出てしまいます。

Member Load (0.007449)   SELECT * FROM members WHERE (subscriber =
'icc8981100010364746033f')


SyntaxError ((eval):1:in `compute_type': compile error
(eval):1: parse error, unexpected tINTEGER
Object::1
         ^):
    /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/base.rb:1244:in `compute_type'
    /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/base.rb:983:in `instantiate_without_callbacks'
    /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/callbacks.rb:215:in `instantiate'
    /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/base.rb:390:in `find_by_sql'
    /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/base.rb:390:in `find_by_sql'
    /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/base.rb:924:in `find_every'
    /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/base.rb:381:in `find'
    /app/controllers/guest_controller.rb:35:in `reg_m_complite'
・・・・つづく

コードは以下のようになっております。
Member.find(:all, :conditions => "subscriber = '#{icc}'")

membersというテーブルにsubscriberというカラムがあり、VARCHAR(255)で定義
されております。また、iccの変数の中身は、エラーメッセージにも出ている、
icc898110001036*******fが入っております。同じことを他のモデルに対して行っ
た場合、このようなエラーは起こりません。また、このsubscriberという部分を、
Member.find(:all, :conditions => "tel = '#{icc}'")
のように他のカラムに変えると、エラーが出ません。
また、エラーメッセージにもある問題のSQL分を直接、mysqlに流してもエラーが
出ません。

環境は、
RedHat9
Ruby version                 1.8.4 (i686-linux)
RubyGems version             0.8.11
Rails version                1.1.2
Active Record version        1.14.2
Action Pack version          1.12.1
Action Web Service version   1.1.2
Action Mailer version        1.2.1
Active Support version       1.3.1
MySQL			     4.1.20, for pc-linux-gnu on i686
となっております。


なぜこのようなエラーが発生しているのか、全く検討が付かず困り果てておりま
す。もし、同じような経験をされた方がおりましたら、よろしくお願いいたしま
す。


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

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

->    1276 2006-06-22 16:04 [swallow@r...        ] Active Record【compute_typeのエラー】   
      1277 2006-06-22 21:08 ┗[shachi@j...         ]                                       
      1288 2006-06-24 04:56  ┗[swallow@r...        ]