2012-09-03 40 views
1

我在這裏遇到問題。我正在開發一個使用Rails和Backbone構建的應用程序。在我的開發環境,一切都運行良好,但是當我部署它的生產服務器,在我的螢火顯示此錯誤:Backbone JS和Rails 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

是的,耙資產:預編譯可以幫助。 – Nicklasos

+0

我已經執行了rake資源:預編譯。我也編輯過這個問題,發現了其他問題。謝謝。 – hafizbadrie

回答

0

看來你是手動安裝骨幹網。

我推薦使用諸如backbone-rails gem之類的東西來優雅地幫助集成rails和backbone。像https://github.com/codebrew/backbone-rails(也有其他的gem,但是codebrew的實現是最流行的)之一。

這是爲了確保跨機器的一致依賴性。

不要忘記閱讀有關資產的管道,我的大部分問題與JS和導軌的生產來自於我缺乏有關軌道3資產管道的理解:http://guides.rubyonrails.org/asset_pipeline.html

如果你是認真的集成骨幹和導軌,https://learn.thoughtbot.com/products/1-backbone-js-on-rails是不可缺少的資源(在美國$ 49)

編輯: 這是我典型的Gemfile時產生Backbone.js的& Rails應用程序:

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 .0'或'= 1.0.0' – giosakti