小编Cri*_*ian的帖子

如何在SASS中定义动态混合或函数名称?

我想在SASS中动态创建mixins,以列表中的每个项目命名,但它似乎不起作用.

我试过这个,但是我收到一个错误:

$event-icons: fair, concert, art-show, conference, dance-show, film, party, festival, theatre, launch
@each $event-icon in $event-icons
  @mixin event-icon-#{$event-icon}
    background-position: -($event-icon-width * $i) 0
Run Code Online (Sandbox Code Playgroud)

错误:

Invalid CSS after "": expected expression (e.g. 1px, bold), was "#{$event-icon}"
Run Code Online (Sandbox Code Playgroud)

SASS不支持此用法吗?我在手册中找不到任何关于它的内容.

css sass mixins dynamic-function css-preprocessor

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

Rmagick无法读取字体

我有一段代码在我的Rails应用程序中在图像上绘制文本,并且从很久以前,可能不得不升级到OS X Yosemite,它在本地计算机上读取字体时遇到问题(生产服务器是工作正常).

我可以将它减少到这个例子:

require 'rvg/rvg'
font = '"/Users/xxxxxxxx/xxxx/app/assets/fonts/PTSans-Regular.ttf"'
rvg = Magick::RVG.new(100,100) do |canvas|
  canvas.text(0, 0, 'my text').styles(font: font)  
end  
rvg.draw
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

Magick::ImageMagickError: unable to read font `"/Users/xxxxxxxx/xxxx/app/assets/fonts/PTSans-Regular.ttf"' @ error/annotate.c/RenderFreetype/1153: `(null)'
from /Users/xxxxxxxx/.rvm/gems/ruby-2.0.0-p353@xxxxxxxx/gems/rmagick-2.13.2/lib/rvg/misc.rb:322:in `get_type_metrics'
Run Code Online (Sandbox Code Playgroud)

我尝试重新安装imagemagick和rmagick gem,也使用这些标志:

brew install imagemagick --disable-openmp --build-from-source
Run Code Online (Sandbox Code Playgroud)

另外,如果我改变了

font = "/Users/xxxxxx/xxxxx/app/assets/fonts/PTSans-Regular.ttf"
Run Code Online (Sandbox Code Playgroud)

我认为额外的报价可能会妨碍我

Magick::ImageMagickError: non-conforming drawing primitive definition `Users/xxxxx/xxxx/app/assets/fonts/PTSans-Regular.ttf' @ error/draw.c/DrawImage/3170
from /Users/xxxxxxx/.rvm/gems/ruby-2.0.0-p353@xxxx/gems/rmagick-2.13.2/lib/rvg/misc.rb:546:in `draw'
Run Code Online (Sandbox Code Playgroud)

我还尝试从http://xquartz.macosforge.org/landing/安装最新版本的XQuartz

ruby fonts rmagick imagemagick

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

ActiveAdmin显示默认视图内容

我正在使用ActiveAdmin并且需要对某些视图进行自定义,并且遇到了几个我认为我做错了的场景.

我在show视图中添加了一个额外的表(对帖子的评论).这要求我重写整个属性表,然后添加我的面板.有没有办法自定义视图而不会丢失默认内容?

我还想在show视图中添加一个关联项目表,不需要自定义是否有任何方法可以包含默认的故事,通常在索引视图上使用默认操作和分页?

ruby-on-rails ruby-on-rails-3 activeadmin

11
推荐指数
2
解决办法
6520
查看次数

如果HTML在内容之后,我如何推动正确的浮动?

我有一个大多固定的2列布局:

  • 第一列占用了所需的空间
  • 和第二列有固定宽度并向右浮动

我想让它成为一个响应式设计,所以在较小的屏幕尺寸中,第二列在第一列的下方结束.这意味着第二列的HTML必须位于第一列之后.

我的问题是,当使用该标记时,我似乎无法正确地浮动右列.它最终浮动,但低于主要内容.

这是一个示例代码:

HTML:

<div class='content'>
    sdaohdosahdaf
    <br />adfafhaskldjs sgdafadkfjas
    <br />saodfhdpaofa]sdoas [fdf asfasfjasfdkasfad;sdlafa dfasds dad gad</div>
<div class='sidebar'>
    daobfhaohfasod agsdjfa
    <br />sidjaofhad
    <br />sojghfadpfjas
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

.content {
    background-color: lightblue;
    margin-right: 120px;
}
.sidebar {
    float: right;
    width: 120px;
    background-color: lightgreen;
}
Run Code Online (Sandbox Code Playgroud)

JS在这里小提琴:http://jsfiddle.net/zinkkrysty/U3fA8/

我也试过使用负边距,但似乎无法做到.

如果您有任何其他方法解决我的问题(除了在第一列设置宽度),请试一试

css layout css-float responsive-design

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

CSS:'table-layout:fixed'和Safari中单元格的边框大小

我有一个简单的桌子,有一个标题和桌子.所有单元格都应该是固定宽度,只有一个是可变的(例如名称).

我需要table-layout: fixedtext-overflow: ellipsis可变宽度单元格上使用.

这是表格的CSS:

table {
    width: 550px;
    border: 1px solid #AAA;
    table-layout: fixed;
    border-collapse: collapse;
}
table td, table th {
    border: 1px solid #DDD;
    text-align: left;
    padding: 5px 15px 5px 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.one {
    width: 60px;
}
.two {
    width: auto;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}
.three, .four, .five {
    width: 90px;
}
Run Code Online (Sandbox Code Playgroud)

检查HTML以及演示.

我试图让这个表在所有浏览器中表现相同,但似乎在框中调整大小:在Safari中忽略border-box.虽然根据这个答案,它应该是旧版本的Safari中的错误的修复.

以下是它在Chrome中的外观: 在此输入图像描述

以及它在Safari 6.0.3中的外观: 在此输入图像描述

在我测试的所有较新的Safari for Mac中也存在此问题.我几乎肯定我一周前在Safari中测试了它,无论新旧,它都运行良好.它有点像新的Safari突然出现了一种新的bug.

我正在使用Safari Version …

html css cross-browser tablelayout

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

使用Cloud App从本地转储恢复Heroku上的数据库

我正在尝试将数据库从我的开发环境恢复到生产环境.

我按照https://devcenter.heroku.com/articles/heroku-postgres-import-export中的步骤操作

我在本地创建了一个转储,并使用CloudApp上传了它.然后我运行了这个命令:

heroku pgbackups:restore HEROKU_POSTGRESQL_PURPLE_URL 'http://cl.ly/<some_id>/myapp.dump'
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

HEROKU_POSTGRESQL_PURPLE_URL (DATABASE_URL) <---restore--- myapp.dump

! WARNING: Destructive Action
! This command will affect the app: myapp
! To proceed, type "myapp" or re-run this command with --confirm myapp

> myapp

Retrieving... done

! An error occurred and your restore did not finish.
Run Code Online (Sandbox Code Playgroud)

如果我查看日志,它结束于此:

2012-12-02T17:30:42+00:00 app[pgbackups]: download_progress: start
2012-12-02T17:30:42+00:00 app[pgbackups]: download_progress: 0B 
2012-12-02T17:30:42+00:00 app[pgbackups]: 
2012-12-02T17:30:42+00:00 app[pgbackups]: download_progress: 0.0bytes
2012-12-02T17:30:42+00:00 app[pgbackups]: download_progress: done
2012-12-02T17:30:42+00:00 app[pgbackups]: Invalid path
Run Code Online (Sandbox Code Playgroud)

我测试了网址,看起来没问题,我在网上搜索过类似的问题,但没有找到答案.

我也尝试过,heroku update但它已经是最新的 …

database postgresql heroku database-restore

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

使用Nokogiri替换时的编码问题

我有这个代码:

# encoding: utf-8
require 'nokogiri'

s = "<a href='/path/to/file'>Café Verona</a>".encode('UTF-8')
puts "Original string: #{s}"

@doc = Nokogiri::HTML::DocumentFragment.parse(s)

links = @doc.css('a')
only_text = 'Café Verona'.encode('UTF-8')
puts "Replacement text: #{only_text}"
links.first.replace(only_text)
puts @doc.to_html
Run Code Online (Sandbox Code Playgroud)

但是,输出是这样的:

Original string: <a href='/path/to/file'>Café Verona</a>
Replacement text: Café Verona
Café Verona
Run Code Online (Sandbox Code Playgroud)

为什么文本@doc最终会出现错误的编码?

我尝试使用和不encode('UTF-8')使用或使用Document代替DocumentFragment,但它是同样的问题.

我正在使用Nokogiri v1.5.6和Ruby 1.9.3p194.

ruby encoding character-encoding nokogiri

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

SASS:从样式表中的另一个目录导入波旁威士忌库

我有一个命名空间让我们称为"专业",我想把我的sass资产放在里面app/assets/stylesheets/pro/sellers.我有嵌套控制器cars在里面sellers.

在我的布局中,我有这个,stylesheet_link_tag params[:controller]所以它是一般的.这会pro/sellers/cars.css.sass为我的配置生成路径.

在sass文件中我想导入波旁文库,但是我收到此错误:

File to import not found or unreadable: ../functions/linear-gradient.
Load path: Sass::Rails::Importer(/my_project_path/app/assets/stylesheets/pro/sellers/cars.css.sass)
  (in /my_project_path/app/assets/stylesheets/pro/sellers/cars.css.sass)
Run Code Online (Sandbox Code Playgroud)

是可以进行导入还是限制?

assets ruby-on-rails sass ruby-on-rails-3.1

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

在CoffeeScript中使用indexOf

我在CoffeeScript中使用以下代码:

if elem in my_array
  do_something()
Run Code Online (Sandbox Code Playgroud)

哪个编译成这个javascript:

if (__indexOf.call(my_array, elem) < 0) {
  my_array.push(elem);
}
Run Code Online (Sandbox Code Playgroud)

我可以看到它使用了在脚本顶部定义的函数__indexOf.

我的问题是关于这个用例:我想从数组中删除一个元素,我想支持IE8.我可以做到这一点很容易indexOf,并splice在谁支持的浏览器indexOf的的array对象.但是,在IE8中,这不起作用:

if (attr_index = my_array.indexOf(elem)) > -1
  my_array.splice(attr_index, 1)
Run Code Online (Sandbox Code Playgroud)

我尝试使用__indexOfCoffeScript定义的函数,但我在编译器中得到一个保留字错误.

if (attr_index = __indexOf.call(my_array, elem) > -1
  my_array.splice(attr_index, 1)
Run Code Online (Sandbox Code Playgroud)

那么我如何使用CoffeScript或者是否有更不引人注意的方法来调用indexOf?两次定义相同的函数似乎很奇怪,因为CoffeeScript不允许我使用他们的...

javascript arrays internet-explorer-8 coffeescript

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

Rails 5.2 服务器在未预编译资产时挂起

自从我们将项目的依赖项从 rails 4.2 升级到 rails 5.2 以来,我们遇到了问题

我们同时使用链轮资产和 Webpacker。首次启动服务器并加载第一个页面(任何页面)时,它会在提供页面内容之前挂起。

它通常挂在这样的线上,没有其他输出:

I, [2020-05-15T10:28:20.828146 #66077]  INFO -- : [fd7f1413-7d72-402f-92f9-95688e7fa50e]   Rendered partials/_front_page_featured_items.html.haml (172.4ms)
Run Code Online (Sandbox Code Playgroud)

ruby 进程似乎空闲,不使用 CPU。

我意识到通过rails assets:precompile在运行服务器之前运行,它不会再挂起,即使我删除了 public/assets 和 public/packs 目录中的预编译资产。

我可以通过以下方式重现它:

  • 删除内容 tmp/cache

我们可以在至少 3 台开发机器和 CI 服务器上重现这一点。

在rails 4.2分支中,我们没有这个问题,我们有相同版本的Webpacker(4.2.2)。

rails 4.2 分支和 5.2 在资产方面的主要区别在于从 sprockets 3.7 升级到 4.0,以及所有其他依赖项更改。

我被困在调试这个问题上,希望能在如何进一步调试这个问题、获得更多输出到日志等方面得到一些帮助。

更新:我在 gemfile 中禁用了 webpacker,它仍然冻结

更新 #2:在链轮上发现了一个相关问题:https : //github.com/rails/sprockets/issues/640。我相信这和我遇到的问题是一样的。

assets ruby-on-rails sprockets webpacker

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