Неопределенный метод Ruby on rails `where 'для # - PullRequest
0 голосов
/ 04 мая 2011

Я пытаюсь перейти с Windows 7 на Mac OSX. Я установил следующее

  1. ruby ​​1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
  2. mysql Ver 14.14 Distrib 5.1.56, для apple-darwin10.3.0 (i386) с использованием readline 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; 1 м столбцы пользователя (31,5 мс) [0 м
[0; 1 м ПОКАЗАТЬ ПОЛЯ ОТ users [0 м
[4; 35; 1mSQL (1.2ms) [0m [0mSHOW СТОЛЫ [0м /! \ FAILSAFE /! \ Ср. Май 04 09:53:16 +0530 2011 Статус: 500 Внутренняя ошибка сервера не определена метод `где 'для

Может кто-нибудь сказать мне, что я делаю не так?

Миграции базы данных работают отлично.

Ответы [ 5 ]

1 голос
/ 04 мая 2011

Вы перестали копировать трассировку стека прямо в тот момент, когда он собирался сообщить вам, где произошла ошибка.Посмотрите на трассировку стека для первого упоминания любого кода из вашего приложения (в отличие от гемов или папки вендора), и он должен указать вам на проблемную строку.

0 голосов
/ 04 мая 2011

Спасибо, ребята .. Я наконец-то обнаружил, что ошибка была в authlogic gem, который я установил 3.0.2, а приложению требуется более старая версия 2.x

0 голосов
/ 04 мая 2011

where - это метод класса ActiveRecord 3 AREL, используемый для условий.

Перво-наперво, у вас установлен XCode? это является обязательным условием для установки любых драгоценных камней. Вы можете скачать XCode 3 с сайта Apple или купить XCode 4 в магазине приложений.

Требуется больше трассировки стека.

В идеале, после установки XCode вам следует взглянуть на https://rvm.io - это предпочтительный способ управления рубинами в системах Unixy.

0 голосов
/ 04 мая 2011

Это похоже на ошибку приложения.Сервер сбрасывает 500, когда он не может оценить метод «где», где-то, вероятно, в вашем коде.

Современные операционные системы Mac (не говоря уже о том, что было первым) поставляются с предустановленными ruby ​​и rails -не уверен, связано ли это с вашей настройкой.

Что происходит, когда вы запускаете

rails server

из консоли (из каталога приложения)?

0 голосов
/ 04 мая 2011

К сожалению, у вас есть такое время, когда вы устанавливаете гем MySQL, но это может быть сложно, если вы загружаете его на компьютер с нуля, в котором отсутствуют заголовки разработки, что-то, что требуется для компиляции расширения, и вашипуть не включает /usr/local/mysql/bin, что является общим.

Это можно исправить, создав файл /etc/paths.d/mysql со следующим:

/usr/local/mysql/bin

Как правило, вам просто нужно перечислить mysql в вашем Gemfile после этого, и он должен быть установлен обычным образом с bundle install.

Что касается ошибки, то в вашем приложении это выглядит как нечто более глубокое, которое разрывает прокладку.Когда вы говорите «запустите свой проект в NetBeans», но имеете ли в виду запуск модульных тестов?Похоже, вы звоните where на то, что не поддерживает его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...