小编Aym*_*ric的帖子

Mongoid:验证"validates_uniqueness_of"仅在特定字段更改时触发

我有一个使用条件定义的唯一约束.但以下测试未通过:

class Dummy
  include Mongoid::Document

  field :name, :type => String
  field :status, :type => Boolean

  validates_uniqueness_of :name, if: :status
end


describe "UniquenessValidator" do
  let!(:d1) { Dummy.create!(name: 'NAME_1', status: true) }
  let!(:d2) { Dummy.create!(name: 'NAME_1', status: false) }

  it "should raise an error" do
    expect {
      d2.status = true
      d2.save!
    }.to raise_error
  end
end
Run Code Online (Sandbox Code Playgroud)

由于name_changed?是假的,似乎没有进行验证,因此不检查唯一性条件.

这是一个错误吗?还是我忘了什么?我想这是一个优化,以避免每次修改元素时运行验证.

在这种情况下,当状态改变时触发验证的好方法是什么?

谢谢!

ruby mongoid

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

IE问题:图片上方的透明div不会触发CSS:悬停

问题出在这里:我想使用透明div在图像上创建反应区域,但以下代码不适用于IE(在Chrome上测试):div"hover_zone"的背景颜色根本不会改变.

问题是由于背景颜色设置为透明.使用任何有效的颜色,如#FFF,它的工作原理(似乎IE认为:它是透明的,它不包含任何东西,让我们不显示它).

<html>
<body>

<style type='text/css'>

#hover_zone{
    background-color:transparent;
    visibility: visible;
    position:absolute;
    width:40px;
    height:40px;
    left:10px;
    top:10px;
    z-index:1000;
}

a:hover #hover_zone{
    background-color:#0C0;
    visibility: visible;
}

</style> 

<div id="container">
  <img src="http://ptaff.ca/blogue/wp-content/uploads/noir_black.png" />
  <a href="#"><div id="hover_zone"></div></a>
</div>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

干杯!

html internet-explorer transparent hover

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

标签 统计

hover ×1

html ×1

internet-explorer ×1

mongoid ×1

ruby ×1

transparent ×1