2011-05-04 131 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

相关问题