2015-03-05 3 views
0

У меня есть следующие конфигурации рельсов:Rails CoffeeScript: TypeError: Объект не поддерживает это свойство или метод

Windows 7 
Rails 4.1.1 
Ruby 2.0.0p481 
Gem: coffee-rails 4.0.1 
Gem: coffee-script 2.3.0 
Gem: coffee-script-source 1.9.1 

У меня есть приложение, которое работает отлично, но теперь нет. Я не помню ничего менять (git diff ничего не раскрывает). Ошибка, которую я получаю, такова:

TypeError: Object doesn't support this property or method 
    (in c:/Users/mbratc01/Documents/Rails/manpower/app/assets/javascripts/welcome.js.coffee) 

Extracted source (around line #9): 
7 <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => false %> 
8 <%= javascript_include_tag 'jquery-1.11.1', 'data-turbolinks-track' => false %> 
9 <%= javascript_include_tag 'application', 'data-turbolinks-track' => false %> 
10 <%= csrf_meta_tags %> 
11 </head> 

У меня действительно нет предметов кофейни. Содержание welcome.js.coffee являются:

# Place all the behaviors and hooks related to the matching controller here. 
# All this logic will automatically be available in application.js. 
# You can use CoffeeScript in this file: http://coffeescript.org/ 

Я обнаружил, что если я просто переместить этот файл в другое, недоступное место, приложение работает нормально. Кроме того, при загрузке только пустого файла .coffee в папке app/assets/javascript возникает такая же ошибка выше.

Я видел пару сообщений здесь, в StackOverflow, которые выглядели очень похожими, но после прочтения их я не смог найти основную причину своей проблемы и не смог ее решить, не избавившись от файла .coffee , Я подозреваю, что здесь есть что-то не совсем правильное с настройкой возможностей CoffeeScript, но не уверен, что это дано, что нужные камни появляются.

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

+0

возможный дубликат [Что мне нужно сделать, чтобы получить блог для работы в рельсах 4.2?] (http://stackoverflow.com/questions/28240245/what-do-need-to-do-to-get-the-blog-to-work-in-rails- 4-2) – irowe

ответ

6

По данным this, CoffeeScript не очень хорошо работает с Windows. Вы можете попробовать понизить версию CoffeeScript или полностью удалить ее из своего Gemfile.

Затем просто переименуйте файл .coffee на равнину .js и создайте обычный javascript в своем приложении Rails.

+1

Спасибо. Я видел это, и я предполагаю, что искал подтверждение. До сих пор он работал нормально. Но я не против его удаления. Я действительно не использовал его для этого проекта. Принуждение 'coffee-script-source' к' 1.8.0', как было предложено в этой ссылке, также работало. – lurker

+0

Удивительный! Рад, что вы его работали. – aspencer8111

+0

Это все еще проблема, так как приложение Rails от старого клиента (3.2.18) внезапно начало делать то же самое. Повторная запись всех файлов * .js.coffee в регулярные * .js исправила проблему. – Matteo

2

Я думаю, что переименование расширения не является хорошим решением. Попробуйте следующее:

Добавить в Gemfile

gem 'coffee-script-source', '1.8.0' 

затем запустите

bundle update coffee-script-source 

и перезапустить сервер (если это необходимо)

Смежные вопросы