rails:3448
From: take_tk <ggb03124@n...>
Date: Sun, 27 Jun 2010 02:44:38 +0900
Subject: [rails:3448] Re: ActiveRecord で添付ライブラリを使いたい
たけ(tk)です。 [rails:3446] ActiveRecord で添付ライブラリを使いたい にて naopontan <naopontan@g...> さん 曰く: > モデル内で IPAddr クラスを使いたいので以下の記述をしました。 > > require 'ipaddr' > class Ipaddr < ActiveRecord::Base > def hoge > IPAddr.new "192.168.2.0/24" > end > end > > しかし、console で実行すると以下のエラーとなります。 > >> Ipaddr.new.hoge > NameError: uninitialized constant Ipaddr::IPAddr > from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:105:in > `const_missing' > from /home/takaesu/project/mcocs.git/app/models/ipaddr.rb:4:in `hoge' ========= 元々のファイルが「ipaddr.rb」なので、 「require "ipaddr"」しても自分自身をロードしようとしている(ロード済みな ので何もしない)のではないのかな? 対策としては (a)rubyやrailsの既存のファイル名と衝突しないように「ipaddr.rb」の名前 を変える。もしくは、 (b)絶対パスで require する。 require "/usr/lib/ruby/1.8/ipaddr.rb" でどうでしょうか? take_tk = kumagai hidetake -- ML: rails@r... 使い方: http://QuickML.com/
3446 2010-06-26 10:05 [naopontan@g... ] ActiveRecord で添付ライブラリを使いたい 3447 2010-06-26 10:26 ┣[okkez000@g... ] -> 3448 2010-06-26 19:44 ┗[ggb03124@n... ] 3450 2010-06-28 06:26 ┗[naopontan@g... ]