2012-09-03 3 views
1

여기에 문제가 있습니다. 레일즈와 백본으로 구축 된 앱을 만들고 있습니다. 내 개발 환경에서 모든 것이 잘 실행,하지만 내가 프로덕션 서버에 배치 할 때이 오류가 내 불을 지르고에서 보여 주었다 :백본 JS 및 레일 3.2 프로덕션 서버의 오류

TypeError: this._reset is not a function
...;return a.success=function(d,e,f){ba.add?"add":"reset",c&&c(b,...

이 사람이 나를 도울 수 있을까요?

개정 1
나는 자산을 미리 컴파일 한이 내 Gemfile입니다 :

source 'https://rubygems.org' 

gem 'rails', '3.2.0' 

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

gem 'mysql2' 
gem 'devise', '1.5.3' 
gem 'friendly_id' 
gem 'pry' 
gem "paperclip", "~> 2.5.0" 
gem "kaminari" 
#gem "ckeditor", "3.7.0.rc3" 
gem "tinymce-rails" 
gem "puma" 
gem "tlsmail" 
gem "rails-erd" 
gem "juggernaut" 
gem "thin" 

#gem 'execjs' 
#gem 'therubyracer' 

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

    # See https://github.com/sstephenson/execjs#readme for more supported runtimes 
    # gem 'therubyracer' 

    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 

어쨌든, 나는이 새로운 사실을 얻었다. 내 로컬 컴퓨터에서 프로덕션 모드로 응용 프로그램을 실행 해 보았지만 제대로 작동했지만 내 서버에는 없었습니다. 내 서버에 설치하는 것을 잊어 버린 것이 있습니까?

+1

Gemfile을 게시 할 수 있습니까? 또한 프로덕션 환경에서 자산을 사전 컴파일 했습니까? – giosakti

+0

예, rake assets : 프리 컴파일이 도움이 될 수 있습니다. – Nicklasos

+0

나는 레이크 에셋 (미리 컴파일)을 수행했다. 나는 또한 질문을 편집하고 다른 문제를 발견했다. 감사. – hafizbadrie

답변

0

수동으로 백본을 설치 한 것으로 보입니다.

레일과 백본을 적절히 통합하는 데 백본 레일 보석과 같은 것을 사용하는 것이 좋습니다. https://github.com/codebrew/backbone-rails과 같은 것 (다른 보석도 있지만 코드 브루 구현이 가장 인기가 있습니다).

이것은 컴퓨터간에 일관성있는 종속성을 보장하기위한 것입니다.

자산 파이프 라인에 대해 읽어 잊지 마세요, 생산 JS 내 문제의 대부분 레일은 레일 3 자산 파이프 라인에 대한 이해의 나의 부족에서 온다 : http://guides.rubyonrails.org/asset_pipeline.html

을 그리고 당신은 백본을 통합에 대한 심각한 경우 난간은 https://learn.thoughtbot.com/products/1-backbone-js-on-rails는 (미국에서 $ 49) 편집을 할

필수적인 자원이다 : 생성 backbone.js &이 레일 때 내 전형적인 Gemfile입니다 응용 프로그램 :

group :assets do 
    gem 'haml-rails', '~> 0.3.4' 
    gem 'sass-rails', '~> 3.2.5' 
    gem 'bootstrap-sass', '~> 2.0.3.1' 
    gem 'compass', '~> 0.12.1' 
    gem 'compass-rails', '~> 1.0.2' 

    gem 'coffee-rails', '~> 3.2.2' 
    gem 'jquery-rails', '~> 2.0.2' 
    gem 'jquery-ui-rails', '~> 1.1.0' 
    gem 'handlebars_assets', '~> 0.4.4' 

    gem 'rails-backbone', '~> 0.7.2' 

    # javascript 
    gem 'haml_coffee_assets', '~> 1.2.0' 
    gem 'execjs', '~> 1.4.0' 
    gem 'therubyracer', '~> 0.10.1' 
    gem 'uglifier', '~> 1.2.4' 
    gem 'yajl-ruby', '~> 1.1.0' 
end 
+0

시도했지만 동일한 오류가 발생합니다. : – hafizbadrie

+0

흠 ... 물론 가장 큰 원인은 서버입니다. 서버가 동일한 루비 버전을 사용하는 것을 잊지 마세요. 버전을 '~> 1.0'을 사용하여 verboseely 지정하여 동일한 버전의 보석을 사용하십시오. .0 '또는'= 1.0.0 ' – giosakti