小编Fot*_*Man的帖子

使用Rails生成apple-touch-icon

我正在尝试将apple-touch-icon链接添加到我的应用程序头,以便它将显示在主屏幕书签上.Rails指南说明如下:

Mobile Safari会查找不同的链接标记,指向将页面添加到iOS设备主屏幕时将使用的图像.以下调用将生成这样的标记:

favicon_link_tag 'mb-icon.png', rel: 'apple-touch-icon', type: 'image/png'
<link href="/assets/mb-icon.png" rel="apple-touch-icon" type="image/png" />
Run Code Online (Sandbox Code Playgroud)

但是,当我使用以下(删除时间戳)时:

<%= favicon_link_tag 'favicon.ico' %>
<%= favicon_link_tag 'apple-icon.jpeg', rel: 'apple-touch-icon', type:'image/jpeg' %>
Run Code Online (Sandbox Code Playgroud)

它没有正确生成apple-touch-icon(favicon按预期工作).它将"图像"而不是"资产"插入到href中.生成的代码是:

<link href="/assets/favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon">
<link href="/images/apple-icon.jpeg" rel="apple-touch-icon" type="image/jpeg">
Run Code Online (Sandbox Code Playgroud)

我还尝试过将链接直接放入应用程序文件而不使用TagHelper,但它没有将时间戳附加到文件中,因此文件不正确.

favicon ruby-on-rails mobile-safari ios

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

如何在多列的唯一索引中允许一列的 NULL 值

似乎是一个非常简单的问题,但我似乎无法在网上的任何地方找到具体的答案。

我有一个price引用报价和行项目的模型,因此它有quote_idline_item_id列。我正在使用多列索引unique: true来防止同一 line_item 的多个价格附加到报价中。quote_id是索引中的第一列。

但是,我希望允许用户添加line_items尚未报价的价格。它适用于一个价格,quote_id为空且line_item_id存在。但是,唯一索引阻止我将第二个价格附加到相同的line_item. 中的空值quote_id被视为唯一的。

有什么方法可以使唯一约束仅在引用不为空时适用?
我知道allow_nil可以在模型验证中使用,但是可以在索引中使用吗?

我在想这样的事情:

add_index :prices, [:quote_id, :line_item_id], :unique => true, :allow_nil => true
Run Code Online (Sandbox Code Playgroud)

PostgreSQL 和 Rails 4。

sql postgresql indexing ruby-on-rails unique-constraint

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