Невозможно вызвать метод 'charAt' из неопределенного - только на сервере - PullRequest
3 голосов
/ 10 февраля 2012

У меня есть приложение rails, работающее локально (OsX, WEBrick).

Я клонировал репо на сервере (Ubuntu 10.04, Apache, Passenger), настроил пассажира, но теперь, когда я пытаюсь подключиться к каждой странице, я получаю

Less::ParseError in Pages#home

Showing /var/www/MYAPP/app/views/layouts/application.html.erb where line #5 raised:

Cannot call method 'charAt' of undefined
  (in /usr/lib/ruby/gems/1.8/gems/twitter-bootstrap-rails-2.0.2/vendor/assets/stylesheets/twitter/bootstrap.css.less)

содержание bootstrap.css.less:

@import "twitter/bootstrap/bootstrap";

строка 5 application.html.erb:

<%= stylesheet_link_tag    "application" %>

ruby ​​1.8.7 на обеих машинах

Ответы [ 3 ]

1 голос
/ 13 марта 2012

Обновление менее работало для меня на сервере Ubuntu 10.04

Для всей системы:

sudo npm -g install less

Только для пользователя:

npm install less
1 голос
/ 13 февраля 2012

решено обновление до ruby ​​1.9.3

0 голосов
/ 15 марта 2012

Я считаю, что это как-то связано с тем, что гем Ruby less не компилирует его правильно. У меня была эта проблема локально на Mac, а также. Где-то я увидел предложение использовать версию узла less (1.3) вместо гема ruby, который можно установить с помощью npm install less.

Тем не менее, большинство драгоценных камней, которые подключают бутстрап к рельсам, используют версию ruby ​​gem, так что это выглядело как не ходи, особенно на heroku и т. Д. После очень разочаровывающей пары дней я сдался и переключился на sass версия начальной загрузки: https://github.com/thomas-mcdonald/bootstrap-sass

Проще было интегрироваться с рельсами, но, к сожалению, выходить за пределы официальной версии начальной загрузки. Позже я пошел интегрировать bootswatch, но это не очень хорошо с sass. Итак, я вернусь к простой старой версии начальной загрузки css, пока не появится лучший способ справиться с этим: /

...