我有一个Rails应用程序,它定义了一个包含精度为8和scale 2的小数的迁移.我设置的数据库是PostgreSQL 9.1数据库.
class CreateMyModels < ActiveRecord::Migration
def change
create_table :my_models do |t|
t.decimal :multiplier, precison: 8, scale: 2
t.timestamps
end
end
end
Run Code Online (Sandbox Code Playgroud)
当我运行时rake db:migrate
,迁移成功,但我在尝试运行时发现错误MyModel.find_or_create_by_multiplier
.如果我运行以下命令两次,该对象将被创建两次:
MyModel.find_or_create_by_multiplier(multiplier: 0.07)
Run Code Online (Sandbox Code Playgroud)
我假设这应该在第一次调用期间创建对象,然后在第二次调用期间找到该对象.不幸的是,乘数设置为0.07时似乎没有发生这种情况.
这DOES预期因为我已经在上面的命令抛出每隔数工作.以下命令按预期工作(在第一次调用期间创建对象,然后在第二次调用期间查找对象).
MyModel.find_or_create_by_multiplier(multiplier: 1.0)
MyModel.find_or_create_by_multiplier(multiplier: 0.05)
MyModel.find_or_create_by_multiplier(multiplier: 0.071)
Run Code Online (Sandbox Code Playgroud)
当我查看MyModel表的PostgreSQL数据库描述时,我注意到该表对数字列没有限制.
Column | Type | Modifiers
-------------+-----------------------------+-------------------------------------------------------
id | integer | not null default nextval('my_models_id_seq'::regclass)
multiplier | numeric |
created_at | timestamp without time zone | not null
updated_at | timestamp without time zone | not null …
Run Code Online (Sandbox Code Playgroud) 我正在尝试将跨度堆叠在引导 div.controls 内。多个 span.label 默认水平堆叠,但我希望每个 span.label 都垂直列出,在它自己的行上。
这就是我目前显示的方式:
<div class="controls readonly-display">
<span class="label">test</span>
<span class="label">test 2</span>
</div>
Run Code Online (Sandbox Code Playgroud)