加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-3.1 – Rails 3.1生产中的资产管道

发布时间:2020-12-16 23:35:09 所属栏目:百科 来源:网络整理
导读:我正在使用资产管道(在Rails 3.1.3中)并且正在努力使其在生产中工作. 情况 在我的/ app / assets / stylesheets目录中,我有以下文件: application.css -- this is the default rails onestylesheet.css -- This is my custom stylesheet 我花了很多时间将我
我正在使用资产管道(在Rails 3.1.3中)并且正在努力使其在生产中工作.

情况

在我的/ app / assets / stylesheets目录中,我有以下文件:

application.css --> this is the default rails one
stylesheet.css --> This is my custom stylesheet

我花了很多时间将我的stylesheet.css包含在生产中的/ public / assets /目录中(通过运行rake资产:预编译),最后通过在application.rb文件中添加以下行来实现:

config.assets.precompile += ['stylesheet.css']

我知道在生产中有正确的预编译stylesheet.css文件.

我的问题

我遇到的问题是使用stylesheet_link_tag和stylesheet.css文件.事实证明:

<%= stylesheet_link_tag“stylesheet”%>被解析为< link href =“/ stylesheets / stylesheet.css”media =“screen”rel =“stylesheet”type =“text / css”>在生产中,我希望将路径解析为/assets/stylesheet.css,就像在开发中一样.

更令人惊讶的是,即使<%= stylesheet_link_tag“application”%&gt ;,application.css仍然表现完美.解析为< link href =“/ stylesheets / stylesheet.css”media =“screen”rel =“stylesheet”type =“text / css”>.我不明白的是rails 3.1中不存在public / stylesheets /目录.

任何想法 ?

解决方法

理查德·赫尔斯的回答指出了我正确的方向.发生的事情真的很微妙……

我的问题的答案是Rails 3.1 assets has no fingerprint in production.

基本上,我的项目使用mongoid而不是ActiveRecord.根据Mongoid documentation关于配置,application.rb文件可以修改为不包括ActiveRecord,这意味着删除:

require railties/all

并替换为:

require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "rails/test_unit/railtie"
# require "sprockets/railtie" # Uncomment this line for Rails 3.1+

我习惯于使用rails 3.0.x进行这种操作,我没注意与Rails 3.1相关的注释

我的问题是我不需要链轮!

感谢大家的帮助 !

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读