| 28 12月 |
本番サーバがRuby Enterprise EditionでRails動かしているということで、ローカル環境を一生懸命あわせにいったんだけど、思わぬところでエラーが落ちてはまったよ。
結局解決しなかったけど、ダメだったところを力任せに書き付けます。このボケがあああああ。
やろうとしたこと
OS:
Darwin Macintosh.local 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386
ruby:ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin9.8.0], MBARI 0×8770, Ruby Enterprise Edition 2009.10
rails:rails 2.3.5
Macに本番と同じREEいれてmysqlいれてヒャッハーしようという話。
ダメだったこと
ActiveRecordの:conditionsにプレースホルダを指定しようとすると、consoleが落ちる。
↑文章がスーパーハッカーっぽくてかっこいいねこれ。
script/consoleで、
MyModel.find(:all,:conditions=>["userId in (?)",'big5'])
とやると
dyld: lazy symbol binding failed: Symbol not found: _rb_str_set_len
Referenced from: /Users/big5/.gem/ruby/1.8/gems/mysql-2.8.1/lib/mysql_api.bundle
Expected in: flat namespace
dyld: Symbol not found: _rb_str_set_len
Referenced from: /Users/big5/.gem/ruby/1.8/gems/mysql-2.8.1/lib/mysql_api.bundle
Expected in: flat namespace
Trace/BPT trap
こんなことになる。
MyModel.find(:all,:conditions=>”userId in (’big5′)”)
はOK。
コードが悪いのかといろいろ思考錯誤したけど解決しなかった。
ググったり、ググったりしたけど解決できる方法がわからなかったよ!!
同僚のrubyに詳しい人に聞いたけどわからなかったよ!!
結局
普通のrubyでやったら普通にうまくいくらしいので、環境作り直すことにしたよ!!!!!


コメントはまだありません。
コメントをどうぞ