Не удалось установить Fresh Rails 3.1 ... неинициализированная константа JSON :: ParserError - PullRequest
0 голосов
/ 19 сентября 2011

Я использую RVM и установил рельсы 3.1.0 несколько раз, но как только я начинаю использовать его, я снова и снова получаю ту же ошибку.

Из новой установки рельсов 3.1.0 я делаюследующее:

rails new fishapp

cd fishapp

bundle install

rails g scaffold Fish name:string

bundle exec rake db:migrate

Но каждый раз, когда я иду на http://localhost:3000/fish, я получаю:

Showing /Users/me/code/rails31/fishapp/app/views/layouts/application.html.erb where line #6 raised:

uninitialized constant JSON::ParserError
  (in /Users/me/code/rails31/fishapp/app/assets/javascripts/fish.js.coffee)

Extracted source (around line #6):

3: <head>
4:   <title>Fishapp</title>
5:   <%= stylesheet_link_tag    "application" %>
6:   <%= javascript_include_tag "application" %>
7:   <%= csrf_meta_tags %>
8: </head>
9: <body>

Я, должно быть, сломал что-то, пытаясь установить рельсы, или что-то, как я делаюиначе не пойму, почему не получится свежая установка.Есть идеи?

Ответы [ 2 ]

0 голосов
/ 05 октября 2011

Первоначально я просто закомментировал строку № 6 (просто чтобы я мог продолжать работать).

<%#= javascript_include_tag "application" %>

В конце концов мне понадобился JavaScript, поэтому мне пришлось вернуться к этой проблеме. Я оставил закомментированную строку выше и просто жестко запрограммировал эту строку сразу под ней:

<script src="/assets/application.js" type="text/javascript"></script>

Страница загрузилась нормально, поэтому я просмотрел источник страницы и посмотрел на

http://0.0.0.0:3000/assets/application.js

... только чтобы найти похожую ошибку:

throw Error("NameError: uninitialized constant JSON::ParserError
(in /Users/me/Dev/fishapp/app/assets/javascripts/products.js.coffee)")

Поэтому я решил загрузить консоль rails и посмотреть, смогу ли я загрузить гем JSON, но получил ошибку с iconv:

ruby-1.9.2-p290 :001 > require 'json'
LoadError: no such file to load -- iconv

Тем временем при загрузке рельса добывается самоцвет:

ruby-1.9.2-p290 :004 > require 'rails'
 => false 

Так что я искал вокруг и нашел это:

http://beginrescueend.com/packages/iconv/

Следуйте этим инструкциям, и ваша проблема будет решена! Для справки, эти инструкции:

rvm pkg install iconv
rvm remove 1.9.2
rvm install 1.9.2 --with-iconv-dir=$rvm_path/usr

Я оставляю шаги, которые предпринял в случае, если другие ищут Google похожие ошибки.

0 голосов
/ 27 сентября 2011

Вы можете попробовать сделать некоторые из них, чтобы увидеть, помогает ли это,

  • Проверьте ваш Gemfile, чтобы убедиться, что у вас есть gem coffee script.
  • Проверьте файл Gemfile.lockчтобы убедиться, что все ваши зависимости удовлетворены.Вероятно, вы должны иметь multi_json в activesupport.
  • Вы также можете попробовать выполнить команду rvm get head перед установкой rails 3.1 и установкой вашего комплекта, чтобы посмотреть, поможет ли это.
...