рельсы 3.1, почему мои сценарии кофе не работают? - PullRequest
1 голос
/ 05 ноября 2011

Я пытаюсь протестировать сценарий кофе в моем проекте rails 3.1, но он не выполняется или не генерируется как javascript в приложении. Js

У меня есть контроллер Page, вотpages.js.coffee:

test = (input) ->
  alert input

test 'hello'

но это предупреждение никогда не выполняется на http://127.0.0.1:3000/pages,, фактически, application.js просто пуст!

здесь GemFile весли это поможет:

source 'http://rubygems.org'

gem 'rails', '3.1.0'

# Bundle edge Rails instead:
# gem 'rails',     :git => 'git://github.com/rails/rails.git'

gem 'sqlite3'

gem 'devise', '1.4.8'

gem 'will_paginate', '~> 3.0.2'

#gem 'nested_form', :git => 'git://github.com/fxposter/nested_form.git'

gem "simple_form"

gem 'kaminari'

gem 'foreigner'

gem "cocoon"

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails', "  ~> 3.1.0"
  gem 'coffee-rails', "~> 3.1.0"
  gem 'uglifier'
end

gem "jquery-rails"

gem 'coffee-script'
gem 'haml'
# Use unicorn as the web server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'ruby-debug19', :require => 'ruby-debug'

group :test do
  # Pretty printed test output
  gem 'turn', :require => false
end

РЕДАКТИРОВАТЬ

Я также добавил эти драгоценные камни и установил их, но сценарий кофе не выполняется

gem 'therubyracer'


gem 'coffee-script-source'
gem 'json'
gem 'execjs'

Ответы [ 2 ]

3 голосов
/ 05 ноября 2011

Во-первых: достаточно иметь «кофейные рельсы» в вашей группе активов.В более старых версиях в группе активов содержался «coffee-script».

Второе: где вы храните свои файлы *.js.coffee?Вы должны убедиться, что они находятся в папке «assets» в каком-то месте.Начните с app/assets/javascripts.Если их нет в папке с активами, они не попадут в конвейер ресурсов.

Если вы уже это делаете, подумайте о запуске нового проекта и используйте конфигурацию по умолчанию.Это должно работать без каких-либо проблем.Сравните рабочий проект с нерабочим.

Если ничего не помогло, можете ли вы поделиться своим проектом с нами на GitHub?

0 голосов
/ 05 декабря 2015

Пожалуйста, проверьте ваш config / application.rb, вы должны найти следующий раздел:

if defined?(Bundler)
  # If you precompile assets before deploying to production, use this line
 Bundler.require(*Rails.groups(:assets => %w(development test)))
 # If you want your assets lazily compiled in production, use this line
 #Bundler.require(:default, :assets, Rails.env)

end

Я подозреваю, что вы не прекомпилируете ресурсы при развертывании, даже если у вас естьон настроен игнорировать драгоценные камни активов.

...