gpt4 book ai didi

javascript - Rails 自定义布局 - 生产中的路由错误

转载 作者:太空宇宙 更新时间:2023-11-04 04:18:16 26 4
gpt4 key购买 nike

我的网站有一个使用“管理”布局的管理部分。

class Admin::BaseController < ActionController::Base
layout "admin"

在 layouts/admin.html.slim

 = stylesheet_link_tag "admin", :media => "all"
= javascript_include_tag "admin"

我收到 admin.js 和 admin.css 的错误

Started GET "/stylesheets/admin.css" for x.x.x.x at 2013-10-25 13:18:16 +0000
F, [2013-10-25T13:18:16.505425 #31550] FATAL -- :
ActionController::RoutingError (No route matches [GET] "/stylesheets/admin.css"):

这在开发中完美运行,前端 Assets 在生产中正常加载,问题是什么?

最佳答案

原因是您的 rails 服务器(webrick、thin、...)未编译地提供您的 Assets ,它在多个地方(如 app/assetsvendor/ Assets )。在生产中,Rails 假定生产 Web 服务器处理 Assets 服务,这些服务由 public/ 提供。

由于在运行时编译——或者根本不编译它们——会减慢页面服务,它们被编译成引用你的样式的已知 list 文件的名称(即应用程序.{css/js} 默认情况下),您可以通过调用 rake assets:precompile 来完成。

config.assets.precompile += %w( admin.css ) 添加到 config/application.rbconfig/environments/production.rb 以添加您的 admin.css list ,以便 Rails 知道它还必须编译该 list 。然后运行rake assets:precompile(如果你已经把它放到后面,你可能需要添加RAILS_ENV=production)。

关于javascript - Rails 自定义布局 - 生产中的路由错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19591117/

26 4 0
文章推荐: css - 将
文章推荐: HTML/CSS - dd 和 dt
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com