【问题标题】:Ruby on rails undefined method `where' for #<Class:0x10377d590>#<Class:0x10377d590> 的 Ruby on rails 未定义方法“where”
【发布时间】:2011-05-04 04:35:41
【问题描述】:

我正在尝试从 windows 7 迁移到 mac osx。 我已经安装了以下

  1. ruby 1.8.7(2009-06-12 补丁级别 174)[universal-darwin10.0]
  2. mysql Ver 14.14 Distrib 5.1.56,适用于 apple-darwin10.3.0 (i386) 使用 阅读第 5.1 行

在经历了很多痛苦之后,我通过以下方式安装了我的 sql gem: sudo env ARCHFLAGS="-arch x86_64" gem install --no-rdoc --no-ri mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

但是当我在 netbeans 中运行我的项目时,我仍然收到以下错误

[4;36;1m用户列 (31.5ms)[0m
[0;1m显示来自users[0m
的字段 [4;35;1mSQL (1.2ms)[0m [0mSHOW TABLES[0m /!\ FAILSAFE /!\ 周三五月 04 09:53:16 +0530 2011 状态:500 内部服务器错误未定义 方法 `where' 用于

谁能告诉我我做错了什么?

数据库迁移运行良好。

【问题讨论】:

    标签: mysql ruby-on-rails macos


    【解决方案1】:

    您在堆栈跟踪将要告诉您错误发生的位置时停止了复制。向下查看堆栈跟踪,第一次提到您的应用程序中的任何代码(而不是 gems 或供应商文件夹),它应该将您指向问题行。

    【讨论】:

      【解决方案2】:

      很遗憾,您有这么长时间安装 MySQL gem,但是如果您将它加载到缺少开发标头、编译扩展所需的东西以及您的从头开始的机器上,这可能会很复杂路径不包括常见的/usr/local/mysql/bin

      您可以通过使用以下内容创建文件 /etc/paths.d/mysql 来解决此问题:

      /usr/local/mysql/bin
      

      通常你应该只需要在你的Gemfile 中列出mysql,然后它应该使用bundle install 进行常规安装。

      至于错误,它看起来像是您的应用程序中更深层次的东西正在吹垫圈。当您说“在 netbeans 中运行您的项目”时,您的意思是运行单元测试吗?看起来你在调用 where 的东西不支持它。

      【讨论】:

        【解决方案3】:

        这看起来像是一个应用程序错误。当服务器无法评估方法 'where' 时,服务器会以 500 的速度退出,这可能在您的代码中的某个地方。

        现代 Mac 操作系统(忘记哪个是第一个)预装了 ruby​​ 和 rails - 不确定这是否与您的设置有关。

        运行时会发生什么

        rails server
        

        从控制台(从应用程序的目录中)?

        【讨论】:

        • 它会生成一个新项目.. 因为我仍在使用 rails 2.3.5
        【解决方案4】:

        where 是用于条件的 ActiveRecord 3 AREL 类方法。

        首先,您是否安装了 XCode?这是安装任何原生 gem 的先决条件。您可以从苹果网站下载 XCode 3 或从应用商店购买 XCode 4。

        需要更多的堆栈跟踪。

        不过,理想情况下,一旦您安装了 XCode,您应该看看 https://rvm.io - 这是在 Unixy 系统上管理 rubies 的首选方式。

        【讨论】:

          【解决方案5】:

          谢谢大家.. 我终于发现错误出在 authlogic gem 我已经安装了 3.0.2 并且该应用程序需要旧版本 2.x

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-09-21
            • 1970-01-01
            • 2016-12-15
            • 2019-10-31
            相关资源
            最近更新 更多