Използвам Rails 3.2.14 без проблем ...
Наскоро преименувах application.js
да се application.js.coffee
и сега получавам JSON грешка.
JSON::GeneratorError
only generation of JSON objects or arrays allowed
(in /.../app/assets/javascripts/application.js.coffee)
Дори когато изтрия цялото съдържание на application.js.coffee
Все още получавам грешката.
Когато се опитам да го прегледам директно (http://localhost:3000/assets/application.js
), неговият същия въпрос:
throw Error("JSON::GeneratorError: only generation of JSON objects or arrays allowedn (in /.../app/assets/javascripts/application.js.coffee)")
Комбинирах приложението си за всякакви потенциални проблеми, но всичко изглежда доста стандартно.
Отговори:
6 за отговор № 1Имах подобен проблем (Релси 4 активи тръбопровода хвърля "разрешено само поколение JSON обекти или масиви"), което нямаше нищо общо с application.js. Скъпоценният камък multi_json се актуализира от 1.7.8 до 1.7.9 и счупи приложението ми. Всяка промяна в файловете cofeescript доведе до тази грешка "разрешено само единствено поколение JSON обекти или масиви".
Изрично сложих multi_json скъпоценния камък в моя Gemfile, фиксиран към версия 1.7.8. В решен проблема за мен.
5 за отговор № 2
Имам проблем със запазването не в проект Rails, а проект с рубин, използващ зъбни колела. Най-накрая не съм определил проблема, но изглежда е свързан с execjs и използваното Javascript изпълнение.
Можете да опитате да добавите
gem "therubyracer"
към вашия Gemfile. Това инсталира V8 двигателя, което реши проблема за мен.