gpt4 book ai didi

ruby-on-rails - Rails 生产错误,可能是由于 link_tag 和预编译

转载 作者:行者123 更新时间:2023-12-04 05:48:24 26 4
gpt4 key购买 nike

我已安装 rails 3.1apache2passengerubuntu 10.04 .使用 ruby 1.9.2RVM .
当我在生产中的浏览器中加载应用程序时(开发版本在我的机器上运行良好),它不起作用。

我的生产错误日志是:

Started GET "/articles" for 117.230.75.50 at 2011-09-12 13:51:34 +0000
Processing by ArticlesController#index as HTML
Rendered articles/index.html.erb within layouts/application (56.4ms)
Completed 500 Internal Server Error in 126ms

ActionView::Template::Error (application.css isn't precompiled):
2: <html>
3: <head>
4: <title>Youexpress</title>
5: <%= stylesheet_link_tag "application" %>
6: <%= javascript_include_tag "application" %>
7: <%= csrf_meta_tags %>
8: </head>
app/views/layouts/application.html.erb:5:in `_app_views_layouts_application_html_erb__385712067674585148_29380260'
app/controllers/articles_controller.rb:7:in `index'

但是,当我像这样删除 app/views/layouts/application.html.erb 中的 link_tags 时,该应用程序在生产模式下运行良好。
<!DOCTYPE html>
<html>
<head>
<title>Youexpress</title>
</head>
<body>

<%= yield %>

</body>
</html>

我如何解决这个问题?当我这样做时 bundle exec rake assets:precompile我收到以下错误:
rake aborted!
no such file to load -- uglifier
(in /home/username/youexpress/vendor/bundle/ruby/1.9.1/gems/jquery-rails-1.0.14/vendor/assets/javascripts/jquery-ui.min.js)

注意:在上面的错误中它显示 ruby​​/1.9.1 而不是 1.9.2 (我已经安装了 1.9.2 )

请帮助我的情况。

谢谢

最佳答案

我自己找到了答案,错误的原因是 rails 应用程序需要 javascript 运行时才能使 sass、coffeescript 和 uglifier 的某些功能正常工作。

有很多方法可以解决这个问题,通过安装像 nodejs 这样的 javascript 运行时

但是,我采用的解决方案,也许是最简单的解决方案是,添加 gem 'therubyracer'到我的 Gemfile然后运行 ​​bundle install
摘自我的 Gemfile在下面

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

添加 therubyracer还修复了 rake assets:precompile
希望这可以帮助。我花了几天时间寻找这个解决方案。

关于ruby-on-rails - Rails 生产错误,可能是由于 link_tag 和预编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7390049/

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