小编Aug*_*ger的帖子

Rails:测试对象是否为ActiveRecord

我怎么能测试是否var是ActiveRecord对象?

我试过了

if var[:id]
  # ==> Activerecord
else
  # ==> Other object
end
Run Code Online (Sandbox Code Playgroud)

但我明白了TypeError: can't convert Symbol into Integer.

activerecord ruby-on-rails-3

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

Ruby/Rails:剥离无效的零,但只有0或2

我想在我的rails项目中显示价格.我知道我有可以帮助我number_to_currencynumber_with_precision方法和方法.

尽管如此,我找不到一种方法来以优雅的方式实现我想要的东西.

display_price(50) # => "50"
display_price(50.5) # => "50.50" this is the one I can't achieve ...
display_price(50.50) # => "50.50"
display_price(50.55) # => "50.55"
display_price(50.551) # => "50.55"
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点 ?

ruby ruby-on-rails

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

HTML 活动属性

按钮有一个 disabled影响其本机行为属性。设置active属性是否在 html 语法上不正确?

<button active></button>
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我不想使用该class属性。

html

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

整数除法与舍入

我需要做整数除法.我希望以下内容返回2而不是实际1:

187 / 100 # => 1
Run Code Online (Sandbox Code Playgroud)

这个:

(187.to_f / 100).round # => 2
Run Code Online (Sandbox Code Playgroud)

会起作用,但作为解决方案似乎并不优雅.是不是只有整数运算符187 / 100 = 2呢?


编辑

因为我一直在投票,我会更清楚我的用例:

我需要计算一个价格税.我所有的价格都是美分.问责制世界中没有1美分以下,所以我需要确保我的所有价格都是整数(那些检查税的人不喜欢错误......真的!)

但另一方面,税率是19%.

所以我想找到最好的写作方式:

def tax_price(price)
  price * TAX_RATE / 100
end
Run Code Online (Sandbox Code Playgroud)

可靠地返回一个整数,而没有任何浮动副作用.

我害怕去float世界,因为它对数字表示有非常奇怪的副作用,如:

因此,我发现留在世界integerfractional世界更安全,因此我的问题.

ruby

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