gpt4 book ai didi

ruby-on-rails - ActionView::Template::Error(未预编译):在 heroku cedar 上

转载 作者:行者123 更新时间:2023-12-04 01:54:56 26 4
gpt4 key购买 nike

更新:

事实证明,有时 results.image 是 nil 或 "",所以这会破坏应用程序,因为 Assets 管道正在寻找像 ""这样的图像但没有找到它。现在,如果没有图像,我不会显示图像,但我必须为丢失的图像添加默认图像......这应该是一个更永久的修复。

我有很多关于 heroku cedar 和 Rails Assets 管道的问题,我已经尝试了很多解决方案,但没有一个有效,这可能是因为我遇到的问题有一个皱纹我在其他地方没见过。

我的应用程序使用 Rails 3.2.6,我已经将它部署在 Heroku 的 cedar 堆栈上。这是一个基本的搜索应用程序,它通过 websolr 搜索附加的 postgres 数据库,所以当你加载没有 params[:q].present 的索引 (index#index) 时?你会得到一个搜索框,这很好用。但是当我在搜索框中输入一些东西并点击提交,然后 index#index 再次加载但这次尝试显示结果时,我得到:

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=staging rake assets:precompile(当然,然后提交结果),但这并不能解决问题。我什至尝试去掉 View 中的(注意那里缺少任何实际样式)。没有任何效果,我不知所措。任何帮助将不胜感激。

作为引用,这是我的 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

最佳答案

您是否有可能在某处有一个空的图像 URL?您是否安装了 CarrierWave 之类的东西?

我从你的代码中看到 image_tag result.image服务 - 这可能是空的吗?

这个线程应该解决它:
ActionView::Template::Error ( isn't precompiled):

关于ruby-on-rails - ActionView::Template::Error(未预编译):在 heroku cedar 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11595007/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com