相关疑难解决方法(0)

Ruby正则表达式中\ A\z和^ $之间的区别

在我阅读的文档中:

使用\ A和\ z匹配字符串的开头和结尾,^和$匹配行的开头/结尾.

我将应用正则表达式来检查用户提交的用户名(或电子邮件是否相同).我应该validates_format_of在模型中使用哪个表达式?我无法理解其中的区别:我一直用^和$ ...

ruby regex

185
推荐指数
4
解决办法
8万
查看次数

在Rails 3.1中添加新的资产路径

有谁知道如何在Rails 3.1中向资产管道添加另一个文件夹?

我想以app/assets/fonts同样的方式app/assets/images服务.


更新:5-7-2013

只是为将来发现此问题以明确添加资产路径的人添加一些说明,在application.rb文件中:

config.assets.paths << "#{Rails.root}/app/assets/fonts"
Run Code Online (Sandbox Code Playgroud)

但是,由于上面的路径app/assets不在你明确添加它,你只需要重新启动rails应用程序,这样Sprockets就可以把它拿起来.

你必须明确地添加是外面的路径app/assets,lib/assets或者vendor/assets,只是记得,虽然链轮拿起新的文件夹是存在,当你的应用程序中加载,在我的经验,它不拿起资产路径新的文件夹,而不重启.

ruby-on-rails path ruby-on-rails-3.1 asset-pipeline

78
推荐指数
3
解决办法
4万
查看次数

如何在Rails 4中使用字体

我有一个Rails 4应用程序,我正在尝试使用自定义字体.

我已经关注了很多关于这方面的教程,不知何故它只是不适用于我的应用程序.

我正在使用application.css.less并有以下声明:

@font-face {
    font-family: 'HDVPeace';
    src: font-url('HDV_Peace.eot');
    src: font-url('HDV_Peace.eot?iefix') format('eot'),
        font-url('HDV_Peace.woff') format('woff'),
        font-url('HDV_Peace.ttf') format('truetype'),
        font-url('HDV_Peace.svg#webfont') format('svg');
}
Run Code Online (Sandbox Code Playgroud)

注意:我尝试过使用 url() 而不是 font-url() .前者在控制台上生成404错误,后者似乎根本不做任何事情.在资源下的chrome dev工具中,字体文件不会出现在 文件夹assets 或任何位置

在我的config/application.rb身上:

config.assets.paths << Rails.root.join('app', 'assets', 'fonts')
Run Code Online (Sandbox Code Playgroud)

在我config/environments/development.rbconfig/environments/production.rb我都有:

config.assets.paths << Rails.root.join('app', 'assets', 'fonts')
config.assets.precompile += %w( .svg .eot .woff .ttf)
Run Code Online (Sandbox Code Playgroud)

我的字体文件位于app/assets/fonts以下文件夹中,并且不包含在...

我错过了什么?

更新:

文件夹结构

app
 |----assets
        |----fonts
               |----HDV_Peace.eot
               |----HDV_Peace.svg
               |----HDV_Peace.ttf
               |----HDV_Peace.woff
Run Code Online (Sandbox Code Playgroud)

fonts asset-pipeline ruby-on-rails-4

63
推荐指数
6
解决办法
6万
查看次数

使用@ font-face和Rails 3.1应用程序?

我使用以下@font-face声明无法使用我的Rails 3.1应用程序.我把资产管道的字体在其所谓的"字体"自己的文件夹一起imagesstylesheetsjavascripts

这是我使用的声明(由Font Squirrel生成.)

@font-face {
  font-family: 'ChunkFiveRegular';
  src: url('Chunkfive-webfont.eot');
  src: url('Chunkfive-webfont.eot?#iefix') format('embedded-opentype'),
     url('Chunkfive-webfont.woff') format('woff'),
     url('Chunkfive-webfont.ttf') format('truetype'),
     url('Chunkfive-webfont.svg#ChunkFiveRegular') format('svg');
  font-weight: normal;
  font-style: normal;
}
Run Code Online (Sandbox Code Playgroud)

有人在他们的Rails 3.1应用程序上成功使用@ font-face吗?

更新

我刚刚阅读了这个主题http://spin.atomicobject.com/2011/09/26/serving-fonts-in-rails-3-1/,它说urlfont-url在声明中改变.不幸的是,这似乎没有用.

css sass css3 font-face ruby-on-rails-3.1

32
推荐指数
4
解决办法
2万
查看次数

将自定义字体添加到Rails 4的官方方法?

我正在研究如何将自定义字体添加到我的Rails应用程序中,例如通过fonts在assets文件夹中添加一个文件夹 - 我无法找到关于如何执行此操作的"官方"Rails方式.

是的,这里有很多关于此事的问题/答案,看起来都是他们自己的黑客.但是,这种常见做法不应该归功于Rails着名的"配置约定"吗?

或者如果我错过了 - 关于如何在Rails应用程序中组织字体的文档参考?

fonts assets directory-structure ruby-on-rails ruby-on-rails-4

29
推荐指数
3
解决办法
2万
查看次数

Heroku字体资产不起作用

放置字体 app/assets/fonts

添加

Add the fonts path
config.assets.paths << Rails.root.join('app', 'assets', 'fonts')

Precompile additional assets
config.assets.precompile += %w( .svg .eot .woff .ttf )
Run Code Online (Sandbox Code Playgroud)

在production.rb和development.rb中

以css链接的字体如:

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

似乎在开发中工作.但在HEROKU似乎并不奏效.它找不到/assets/icomoon.eot.

此链接中的解决方案似乎不起作用

在Rails资产管道中使用字体

ruby-on-rails heroku

21
推荐指数
4
解决办法
2万
查看次数

Rails 4:为什么字体没有加载到生产中?

我无法在生产中的Rails 4应用程序中加载字体,它在开发中正常工作.

在部署时,资产在服务器上进行预编译.

我有我的字体

app/assets/fonts

我的app.css:

@font-face {
    font-family: 'WalkwayBoldRegular';
    src: url('Walkway_Bold-webfont.eot');
    src: url('Walkway_Bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('Walkway_Bold-webfont.woff') format('woff'),
         url('Walkway_Bold-webfont.ttf') format('truetype'),
         url('Walkway_Bold-webfont.svg#WalkwayBoldRegular') format('svg');
    font-weight: normal;
    font-style: normal;
}
Run Code Online (Sandbox Code Playgroud)

在我的production.rb中,我有:

config.assets.precompile << Proc.new { |path|
  if path =~ /\.(eot|svg|ttf|woff)\z/
    true
  end
}
Run Code Online (Sandbox Code Playgroud)

fonts capistrano ruby-on-rails font-face ruby-on-rails-4

17
推荐指数
2
解决办法
1万
查看次数

Ruby on Rails 4中没有摘要的字体资源

我的字体资产在生产中没有摘要的情况下出现了问题.我一耙资产:预编译得到:

 5futurebit-webfont-c133dbefd9e1ca208741ed53c7396062.eot
Run Code Online (Sandbox Code Playgroud)

我试图将它与scss中的font-face链接到asset-url,asset-path,font-url和font-path,但所有这些都最终输出路径:

 /assets/5futurebit-webfont.eot
Run Code Online (Sandbox Code Playgroud)

现在我正在将/ app/assets/fonts中的资产直接复制到/ public/assets /但是感觉不是这样做的.

font-face asset-pipeline ruby-on-rails-4

7
推荐指数
1
解决办法
2182
查看次数

rails app没有在heroku上找到fontawesome图标

我安装了一个bootstrap主题,一切都在本地运行良好.但是,当我去推送到heroku时,我的应用程序找不到字体.我预编译资产并推送到heroku,但没有图标.

所以,我在developer.rb中使用以下内容创建了像heroku这样的开发环境:

  config.assets.debug = true

  # Disable Rails's static asset server (Apache or nginx will already do this).
  config.serve_static_assets = true

  # Compress JavaScripts and CSS.
  config.assets.js_compressor = :uglifier
  # config.assets.css_compressor = :sass

  # Do not fallback to assets pipeline if a precompiled asset is missed.
  config.assets.compile = false

  # Generate digests for assets URLs.
  config.assets.digest = true
Run Code Online (Sandbox Code Playgroud)

现在,我的开发环境找不到字体文件.字体文件位于两个位置:

app/assets/fonts/fontawesome-webfont.*
public/assets/fontawesome-webfont.*
Run Code Online (Sandbox Code Playgroud)

但是,我收到此错误:

ActionController::RoutingError (No route matches [GET] "/assets/fontawesome-webfont.svg"):
Run Code Online (Sandbox Code Playgroud)

这是从预编译的css文件(application-xxxxxxxxx.css)加载它们的方式:

@font-face {
  font-family: 'FontAwesome';
  src: url('fontawesome-webfont.eot?v=4.0.3');
  src: url('fontawesome-webfont.eot?#iefix&v=4.0.3') format('embedded-opentype'), url('fontawesome-webfont.woff?v=4.0.3') format('woff'), …
Run Code Online (Sandbox Code Playgroud)

css ruby-on-rails heroku twitter-bootstrap

6
推荐指数
2
解决办法
8069
查看次数

无法加载资源:404(未找到) - Rails自定义字体

我试图通过CSS加载一些自定义字体@font-face.我正在使用rails fonts_path方法.它在我的开发浏览器中成功生成了正确的路径:

/assets/fonts/my_font.eot?#iefix
Run Code Online (Sandbox Code Playgroud)

但是它将此路径附加到0.0.0.0:3000(rails开发服务器),这可能不是我的Rails项目中/ assets/fonts /的位置.我不知道Rails路由的路由与Rails资产之类的关系.

这是错误:

Failed to load resource: the server responded with a status of 404 (Not Found)    http://0.0.0.0:3000/assets/fonts/my_Ffent.woff
Run Code Online (Sandbox Code Playgroud)

这是我的样式表:

<style type="text/css">
@font-face{
  font-family:"My Font";
  src:url(<%=font_path('/assets/fonts/my_font.eot?#iefix')%>);
  src:url(<%=font_path('/assets/fonts/my_font.eot?#iefix')%>) format("eot"),url(<%=font_path('/assets/fonts/my_font.woff')%>) format("woff"),url(<%=font_path('/assets/fonts/my_font.ttf')%>) format("truetype"),url(<%=font_path('/assets/fonts/my_font.svg#c1b10d74-5304-41c3-b9de-00f29187df91')%>) format("svg");
}
</style>
Run Code Online (Sandbox Code Playgroud)

样式表放在application.html.erb哪个可能是问题的一部分?它在<head>标签中定义.

css fonts assets ruby-on-rails-3

6
推荐指数
1
解决办法
643
查看次数

无法通过 Heroku 上的 Rails 公共文件夹访问某些文件类型

我们在 Heroku 上托管了一个 Rails 应用程序,并且在从公共文件夹中提供一些静态资产时遇到了一些麻烦。(我知道,这是不推荐的。我们实际上使用 CloudFront 和我们的主应用程序的自定义来源,因此我们仍然可以获得 CDN 的好处。但这与这个问题无关。)

一些资产表现良好,完全符合预期。例如:/404.html/favicon.png

其他人返回 HTTP 406 错误: /video-js/swf/video-js-4.1.0.swf

导轨 4.1.1

红宝石 2.1.2

rails_12factor宝石是否存在。

production.rb 文件集 config.serve_static_assets = true

该文件肯定存在.. 在 Heroku 上使用控制台:

File.size("/app/public/video-js/swf/video-js-4.1.0.swf") => 14059

但是当我尝试访问该文件时,我收到了HTTP 406 Not Acceptable响应

curl -I http://my-rails-application.com/video-js/swf/video-js-4.1.0.swf

返回:

HTTP/1.1 406 Not Acceptable Content-length: 0 Content-Type: text/html; charset=utf-8 Date: Wed, 04 Jun 2014 02:25:37 GMT Status: 406 Not Acceptable X-Request-Id: d184b097-7326-49cb-ad05-539459f7df08 X-Runtime: 0.532988 Connection: keep-alive

我尝试为 swf 文件 ( Mime::Type.register …

ruby-on-rails heroku ruby-on-rails-4

5
推荐指数
0
解决办法
733
查看次数

Rails - 在Rails 4应用程序 - 资产管道中使用供应商css中的供应商字体

我正在试图找出如何适应在Rails 4中使用的wrap bootstrap主题.

主题使用简单线图标.我试图将这些文件移动到我的app/assets文件夹中的字体文件夹,以及我的vendor/assets/css文件夹中的css文件和vendor/assets/javascript文件夹中的js文件夹.

我不明白如何重写css中的路径,以便以一种能够读取它们的方式引用资产.

例如,其中一个css文件包括以下内容:

@font-face {
  font-family: 'Simple-Line-Icons';
  src: url("../../fonts/Simple-Line-Icons.eot");
  src: url("../../fonts/Simple-Line-Icons.eot?#iefix") format("embedded-opentype"), url("../../fonts/Simple-Line-Icons.woff") format("woff"), url("../../fonts/Simple-Line-Icons.ttf") format("truetype"), url("../../fonts/Simple-Line-Icons.svg#Simple-Line-Icons") format("svg");
  font-weight: normal;
  font-style: normal;
}
Run Code Online (Sandbox Code Playgroud)

我知道url(../ ..部分是rails的问题.我无法弄清楚的是如何解决它.

我在我的生产环境中安装了rails-12factor gem.我尝试了一百万种变化(在导轨指南中显示),但我找不到任何有用的东西.

谁能看到该怎么办?

本文建议不要在引用供应商资产字体文件中包含'fonts'文件夹.https://gist.github.com/iamatypeofwalrus/6467148

我已经尝试过包含和排除它,但两种方式都没有效果.

本文建议供应商文件无法在不修改初始化程序的情况下存储字体.我试过了,但它也没有用. 在Rails资产管道中使用字体

Rails.application.config.assets.paths
 => ["/Users/cf3/app/assets/images", "/Users/cf3/app/assets/javascripts", "/Users/cf3/app/assets/stylesheets", "/Users/cf3/vendor/assets/fonts", "/Users/cf3/vendor/assets/javascripts", "/Users/cf3/vendor/assets/stylesheets", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/underscore-rails-1.8.3/vendor/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/gmaps4rails-2.1.2/vendor/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/chosen-rails-1.4.3/vendor/assets/images", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/chosen-rails-1.4.3/vendor/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/chosen-rails-1.4.3/vendor/assets/stylesheets", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/chartkick-1.4.1/app/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/formtastic-2.2.1/app/assets/stylesheets", "/Users/lem/.rvm/gems/ruby-2.3.0/bundler/gems/surveyor-5281b317a559/lib/assets/images", "/Users/lem/.rvm/gems/ruby-2.3.0/bundler/gems/surveyor-5281b317a559/lib/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/bundler/gems/surveyor-5281b317a559/lib/assets/stylesheets", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/dependent-fields-rails-0.4.2/vendor/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/cocoon-1.2.6/app/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/jquery-rails-4.0.5/vendor/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/coffee-rails-4.1.0/lib/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/bundler/gems/momentjs-rails-eda1b74512db/vendor/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/bootstrap-slider-rails-5.3.1/vendor/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/bootstrap-slider-rails-5.3.1/vendor/assets/stylesheets", "Rails/vendor/assets/fonts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/bootstrap-sass-3.3.5.1/assets/stylesheets", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/bootstrap-sass-3.3.5.1/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/bootstrap-sass-3.3.5.1/assets/fonts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/bootstrap-sass-3.3.5.1/assets/images", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/font-awesome-sass-4.4.0/assets/stylesheets", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/font-awesome-sass-4.4.0/assets/fonts"] 
Run Code Online (Sandbox Code Playgroud)

Heroku的

我现在发现这篇文章,这表明对于生产中的heroku合规性,我需要用资产路径助手替换所有内容并重命名文件以将.erb添加到images和css以及.coffee到js.在我这样做之前,有人可以确认这实际上是必需的,以及如何更改上述css文件以符合heroku要求.

http://joanswork.com/wrapbootstrap-theme-to-rails/

css ruby-on-rails twitter-bootstrap

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