UPDATE:::的ActionView ::模板錯誤(不預編譯):在Heroku雪松
事實證明,有時results.image是零或「」,所以這是打破了應用程序,因爲管道資產正在尋找像「」的圖像而沒有找到它。現在,如果沒有圖像,我不會顯示圖像,但我必須爲缺失的圖像添加默認圖像......這應該是一個更持久的修復方法。
我有大量有關的Heroku雪松這個問題和Rails資產管道SO問題,我已經嘗試了一些解決方案,但他們沒有工作,這可能是因爲我的問題我的臉上有一種我從未見過的皺紋。
我的應用程序使用Rails 3.2.6,並將它部署在Heroku的雪松堆棧上。這是一個基本的搜索應用程序,通過websolr搜索附加的postgres數據庫,所以當你加載索引(索引#索引)沒有params [:q] .present?你會得到一個搜索框,這工作正常。但是,當我把東西在搜索框中,並點擊提交,並再次索引#指數負載,但這次嘗試顯示的結果,我得到:
app[web.1]: Completed 500 Internal Server Error in 440ms
app[web.1]:
app[web.1]: ActionView::Template::Error (isn't precompiled):
app[web.1]: 12: - @results.each do |result|
app[web.1]: 13: %li
app[web.1]: 14: %div
app[web.1]: 15: = image_tag result.image
app[web.1]: 16: %div
app[web.1]: 17: = result.title
app[web.1]: 18: %div
app[web.1]: app/views/index/index.html.haml:15:in `block in _app_views_index_index_html_haml___4350601325072829986_32734540'
app[web.1]: app/views/index/index.html.haml:12:in _app_views_index_index_html_haml___4350601325072829986_32734540'
有什麼奇怪的關於我的具體情況對別人我已經看到的是以下行:
ActionView::Template::Error (isn't precompiled):
與所有我見過這樣的其他問題,有一個在括號CSS文件,即(「foo.css」不預編譯),或在我情況似乎應該是(「index.css」沒有預編譯)。但這裏只是空白!
這是我正在嘗試運行的分段部署,因此我嘗試運行 RAILS_ENV =分段rake資產:預編譯(然後提交結果,當然),但那不能解決它。我甚至試圖剝離視圖(注意缺乏任何實際的樣式)。沒有任何工作,我不知所措。任何幫助將不勝感激。
供參考,這是我的Gemfile:
source 'https://rubygems.org'
gem 'rails', '3.2.6'
gem 'pg'
gem 'haml-rails'
gem 'mongoid'
gem 'sunspot_rails', '~> 1.3.0'
gem 'sunspot_solr'
# 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'
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
group :development do
gem 'heroku_san'
gem 'annotate'
gem 'awesome_print'
end
group :development, :test do
gem 'rspec-rails'
end
group :test do
gem 'cucumber-rails', :require => false
gem 'capybara'
gem 'database_cleaner'
gem 'spork'
gem 'launchy'
end
group :staging, :production do
gem 'thin'
end
以下是我的config/application.rb中文件中的配置選項:
config.encoding = "utf-8"
config.filter_parameters += [:password]
config.active_support.escape_html_entities_in_json = true
config.active_record.whitelist_attributes = true
config.assets.enabled = true
config.assets.version = '1.0'
config.assets.compile = true
,這裏是我的環境中的配置選項/ staging.rb文件:
config.cache_classes = true
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
config.serve_static_assets = false
config.assets.compress = true
config.assets.compile = true
config.assets.precompile += ['index.css.scss']
config.assets.digest = true
config.i18n.fallbacks = true
config.active_support.deprecation = :notify
恰好碰到了同樣的問題。坦克很多! – rickypai 2013-01-22 20:09:51