Почему Array.count доступен в режиме разработки, но не работает? - PullRequest
6 голосов
/ 27 августа 2009

Для недавнего проекта у меня было несколько представлений с кодом, подобным этому:

<% if @users.count == 0 %>

Это отлично работало в режиме разработки ... Я развернул его в режиме prod, и он взорвался, сказав, что count не является допустимым методом Array. Я изменил каждый экземпляр, чтобы вместо него использовать Array # length, и, похоже, он работает.

1) В чем причина такой разницы в поведении?

2) Есть ли еще какие-нибудь интересные различия между режимами разработки и разработки, на которые мне следует обратить внимание?

MORAL: убедитесь, что в вашей рабочей среде хостинга используется та же версия Ruby, что и в вашей локальной среде разработки. :)

Спасибо

Tom

Ответы [ 2 ]

8 голосов
/ 27 августа 2009

Метод count доступен только в Ruby 1.9 и выше. Я рекомендую вам использовать ту же версию Ruby, что и ваш сервер, чтобы избежать подобных проблем - многое изменилось в 1.9.

0 голосов
/ 29 сентября 2009

о боже, у bluehost есть Ruby 1.8.6 и теперь половина моего приложения не работает В основном именно из-за этой проблемы, с количеством.

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