2011-05-04 128 views
0

我試圖從Windows 7遷移到mac osx。 我已經安裝了以下ruby​​ on rails未定義的方法`where'for#<Class:0x10377d590>

  1. 紅寶石1.8.7(2009-06-12 PATCHLEVEL 174)[萬向darwin10.0]
  2. MySQL的版本14.14 DISTRIB 56年5月1日,對於蘋果darwin10.3.0( I386)用 readline的5.1

經過了很多苦,我用我的安裝SQL寶石: 須藤ENV ARCHFLAGS = 「 - 拱x86_64的」 創業板安裝--no-RDoc的--no裏的mysql - - -with-mysql-config =/usr/local/mysql/bin/mysql_config

不過還是當我在NetBeans中運行的項目中,我得到以下錯誤

[4; 36; 1mUser列(31.5ms)0米
[0; 1mSHOW字段不users [0米
[4; 35; 1mSQL(1.2ms的)分[0mSHOW TABLES [0M/\保險/ \週三五月 04 9時53分16秒0530 2011狀態:500 內部服務器錯誤未定義 法',其中」爲

誰能告訴我我做錯了什麼?

數據庫遷移工作正常。

回答

1

您已停止將堆棧跟蹤複製到要告訴您錯誤發生位置的位置。向下查看堆棧跟蹤,從應用程序中首次提到任何代碼(與gem或vendor文件夾相對),並且它應該指向問題行。

+0

感謝它幫助了我。 :) – 2011-05-04 09:43:27

0

不幸的是,你有這樣的時間來安裝MySQL gem,但是如果你將它加載到缺少開發頭文件的機器上,編譯擴展需要的東西,以及你的路徑不包括/usr/local/mysql/bin這是很常見的。

您可以修復,通過與下面創建一個文件/etc/paths.d/mysql

/usr/local/mysql/bin 

通常你應該只需要列出mysqlGemfile之後,它應該與常規安裝bundle install

至於錯誤,它看起來像是你的應用程序中正在吹氣墊的東西更深。當你說「在NetBeans中運行你的項目」,但你的意思是運行單元測試?它看起來像你打電話給where在不支持它的東西。

+0

試過了..謝謝 – 2011-05-04 09:43:56

0

這看起來像是應用程序錯誤。當服務器無法評估方法'where'時,服務器正在使用500進行保存,這可能在您的代碼中。

現代Mac操作系統(忘記哪個是第一個)帶有預裝的ruby和rails - 不知道這是否與您的設置有關。

當您運行

rails server 
從控制檯

(從應用程序的目錄內)會發生什麼?

+0

會生成一個新項目.. 因爲我仍然使用rails 2.3.5 – 2011-05-04 08:57:45

0

where是一個用於條件的ActiveRecord 3 AREL類方法。

首先,您是否安裝了XCode?這是安裝任何本地寶石的先決條件。您可以從蘋果網站下載XCode 3或從應用商店購買XCode 4。

需要更多的堆棧跟蹤。

理想情況下,一旦你安裝了XCode,你應該看看https://rvm.io--這是在Unixy系統上管理ruby的首選方式。

0

謝謝你們..我終於找到了錯誤與我已經安裝了3.0.2 的authlogic寶石 和應用程序需要一個較舊版本2.x

相關問題