我想在Ruby on Rails應用程序中實現度量單位首選項。在Rails上有翻譯度量單位的解決方案嗎?
例如,用戶應該能夠選擇顯示以英里或以公里爲單位的距離。顯然,不僅是展示,而且也是輸入價值。
我想所有的值都應該存儲在一個全局測量系統中以簡化計算。
有沒有這方面的插入式解決方案?或者我應該寫我自己的?
我想在Ruby on Rails應用程序中實現度量單位首選項。在Rails上有翻譯度量單位的解決方案嗎?
例如,用戶應該能夠選擇顯示以英里或以公里爲單位的距離。顯然,不僅是展示,而且也是輸入價值。
我想所有的值都應該存儲在一個全局測量系統中以簡化計算。
有沒有這方面的插入式解決方案?或者我應該寫我自己的?
紅寶石寶石 「紅寶石單位」 可能會有所幫助:
http://ruby-units.rubyforge.org/ruby-units/
require 'rubygems'
require 'ruby-units'
'8.4 mi'.to('km') # => 13.3576 km
'8 lb 8 oz'.to('kg') # => 3.85554 kg
a = '3 in'.to_unit
b = Unit('5 cm')
a + b # => 4.968 in
(a + b).to('cm') # => 16.62 cm
網站是否被關閉? – Bruno 2013-11-06 19:22:07
此庫已移至github:https://github.com/olbrich/ruby-units – 2014-02-27 19:25:55
在GitHub上快速搜索變成了這樣:http://github.com/collectiveidea/measurement
聽起來像它你需要什麼(只要單位之間的轉換),但我不能說我已經用它自己。
編輯:皮埃爾的寶石看起來像更強大和活躍。
你也許可以看看這個寶石,它讓你執行一些單位轉換。
Quantity在Github上
我建Unitwise解決Ruby的大多數單位轉換和測量的數學問題。
簡單的用法是這樣的:
require 'unitwise/ext'
26.2.mile.convert_to('km')
# => #<Unitwise::Measurement 42.164897129794255 kilometer>
如果你想在你的Rails的模型店的測量,你可以做這樣的事情:
class Race < ActiveRecord::Base
# Convert value to kilometer and store the number
def distance=(value)
super(value.convert_to("kilometer").to_f)
end
# Convert the database value to kilometer measurement when retrieved
def distance
super.convert_to('kilometer')
end
end
# Then you could do
five_k = Race.new(distance: 5)
five_k.distance
# => #<Unitwise::Measurement 5 kilometer>
marathon = Race.new(distance: 26.2.mile)
marathon.distance.convert_to('foot')
# => #<Unitwise::Measurement 138336.27667255333 foot>
相關問題:http://stackoverflow.com/questions/1933690 /使用rails-actionview-helpers-rails- – 2010-06-09 23:05:57