#mysql #ruby-on-rails #macos
#mysql #ruby-on-rails #macos
Вопрос:
Я пытаюсь перейти с Windows 7 на mac osx. Я установил следующее
- ruby 1.8.7 (174-й уровень исправления 2009-06-12) [universal-darwin10.0]
- mysql Версия 14.14 Дистрибутив 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;1mUser Столбцы (31,5 мс)[0m
[0;1mSHOW ПОЛЯ ИЗusers
[0m
[4;35;1mSQL (1,2 мс)[0m [0mSHOW ТАБЛИЦЫ[0m /! ОТКАЗОУСТОЙЧИВЫЙ /! Ср. 04 мая 09:53:16 0530 2011 Статус: 500 Ошибка внутреннего сервера неопределенный метод `where’ для
Кто-нибудь может сказать мне, что я делаю не так?
Миграции базы данных работают отлично.
Ответ №1:
Вы прекратили копирование трассировки стека прямо в тот момент, когда она собиралась сообщить вам, где возникает ошибка. Просмотрите трассировку стека для первого упоминания любого кода из вашего приложения (в отличие от gems или папки поставщика), и это должно указать вам на проблемную строку.
Ответ №2:
К сожалению, у вас так много времени на установку MySQL gem, но это может быть сложно, если вы загружаете его на компьютер с нуля, на котором отсутствуют заголовки разработки, что требуется для компиляции расширения, и ваш path не включает /usr/local/mysql/bin
что является обычным.
Вы можете исправить это, создав файл /etc/paths.d/mysql
со следующим:
/usr/local/mysql/bin
Обычно после этого вам просто нужно будет указать mysql
в вашем Gemfile
, и он должен устанавливаться обычным образом с bundle install
.
Что касается ошибки, похоже, что-то более глубокое в вашем приложении, которое выбивает прокладку. Когда вы говорите «запустите свой проект в netbeans», вы имеете в виду запуск модульных тестов? Похоже, вы вызываете where
что-то, что его не поддерживает.
Ответ №3:
Это похоже на ошибку приложения. Сервер сбрасывает 500, когда ему не удается оценить метод ‘where’, вероятно, где-то в вашем коде.
Современные операционные системы Mac (забудьте, какая была первой) поставляются с предустановленными ruby и rails — не уверен, связано ли это с вашими настройками.
Что происходит при запуске
rails server
с консоли (из каталога приложения)?
Комментарии:
1. это генерирует новый проект.. поскольку я все еще использую rails 2.3.5
Ответ №4:
where
является ли ActiveRecord 3 методом класса AREL, используемым для условий.
Перво-наперво, установлен ли у вас XCode? это обязательное условие для установки любых собственных драгоценных камней. Вы можете загрузить XCode 3 с сайта Apple или купить XCode 4 в app Store.
Требуется больше трассировки стека.
В идеале, однако, после установки XCode вам следует взглянуть наhttps://rvm.io — это предпочтительный способ управления rubies в системах Unixy.
Ответ №5:
Спасибо, ребята.. Я, наконец, обнаружил, что ошибка была связана с authlogic gem, который я установил 3.0.2, и для приложения требуется более старая версия 2.x