小编Sea*_*ber的帖子

如何在Rails 3.1中禁用资产管道(链轮)消息的记录?

默认情况下,在Rails 3.1(RC1)下,链接在(dev)日志中往往非常冗长:

Started GET "/assets/application.css" for 127.0.0.1 at 2011-06-10 17:30:45 -0400
Compiled app/assets/stylesheets/application.css.scss  (5ms)  (pid 6303)


Started GET "/assets/application.js" for 127.0.0.1 at 2011-06-10 17:30:45 -0400
Compiled app/assets/stylesheets/default.css.scss  (15ms)  (pid 6303)

...
Started GET "/assets/default/header_bg.gif" for 127.0.0.1 at 2011-06-10 17:30:45 -0400
Served asset /default/header_logo.gif - 304 Not Modified  (7ms)  (pid 6303)
Served asset /default/header_bg.gif - 304 Not Modified  (0ms)  (pid 6246)
Served asset /default/footer_bg.gif - 304 Not Modified  (49ms)  (pid 6236)
...
Run Code Online (Sandbox Code Playgroud)

我想降低冗长程度或完全禁用它.我假设有一种干净的方法来禁用或减少日志记录的详细程度,方法是在ActiveRecord SQL语句中添加一个environment.rbdevelopment.rb类似的配置行config.active_record.logger = nil …

ruby-on-rails ruby-on-rails-3 sprockets asset-pipeline rails-sprockets

377
推荐指数
11
解决办法
5万
查看次数

在Rails资产管道中使用字体

我在我的Scss文件中配置了一些字体,如下所示:

@font-face {
  font-family: 'Icomoon';
  src: asset-url('icoMoon.eot?#iefix', font) format('embedded-opentype'),
       asset-url('icoMoon.woff', font) format('woff'),
       asset-url('icoMoon.ttf', font)  format('truetype'),
       asset-url('icoMoon.svg#Icomoon', font) format('svg');
}
Run Code Online (Sandbox Code Playgroud)

实际的字体文件存储在/ app/assets/fonts /中

我已经添加config.assets.paths << Rails.root.join("app", "assets", "fonts")到我的application.rb文件中

编译CSS源代码如下:

@font-face {
  font-family: 'Icomoon';
  src: url(/assets/icoMoon.eot?#iefix) format("embedded-opentype"), url(/assets/icoMoon.woff) format("woff"), url(/assets/icoMoon.ttf) format("truetype"), url(/assets/icoMoon.svg#Icomoon) format("svg");
}
Run Code Online (Sandbox Code Playgroud)

但是当我运行应用程序时,找不到字体文件.日志:

开始获取"/assets/icoMoon.ttf"为127.0.0.1在2012-06-05 23:21:17 +0100服务资产/icoMoon.ttf - 404未找到(13ms)

为什么资产管道没有将字体文件缩小为just/assets?

人们有什么想法?

亲切的问候,尼尔

额外信息:

在检查rails控制台的资产路径和assetprecompile时,我得到以下内容:

1.9.2p320 :001 > y Rails.application.config.assets.precompile
---
- !ruby/object:Proc {}
- !ruby/regexp /(?:\/|\\|\A)application\.(css|js)$/
- .svg
- .eot
- .woff
- .ttf
=> nil



1.9.2p320 :002 > …
Run Code Online (Sandbox Code Playgroud)

assets ruby-on-rails sass font-face asset-pipeline

337
推荐指数
8
解决办法
17万
查看次数

Rails中签名和加密的cookie有什么区别?

文档ActionDispatch::Cookies为签名cookie和加密cookie提供了几乎相同的描述.它似乎都用于secrets.secret_key_base防止客户端篡改.http://api.rubyonrails.org/classes/ActionDispatch/Cookies.html

签名饼干

设置已签名的cookie,以防止用户篡改其值.Cookie由您应用的secrets.secret_key_base价值签名.可以使用signed方法读取它cookies.signed[:name]

cookies.signed[:user_id] = current_user.id
Run Code Online (Sandbox Code Playgroud)

加密的cookie

在将加密的cookie值发送到客户端之前设置它,以防止用户读取和篡改其值.Cookie由您应用的secrets.secret_key_base价值签名.可以使用加密方法读取它cookies.encrypted[:name]

cookies.encrypted[:discount] = 45
Run Code Online (Sandbox Code Playgroud)

我的问题是:两者有什么区别?

你什么时候想要使用另一个?

cookies ruby-on-rails session-cookies

40
推荐指数
1
解决办法
6513
查看次数