我对 Rails 比较陌生,我正在构建一个处理天气数据的应用程序。我的主要用途将在美国境内,因此向用户的演示可能会以华氏度为单位。我使用的数据源以摄氏度为单位。
我解决此问题的正常方法是在模型中添加一个 celsius 列,然后使用一个从 F 转换为 C 的自定义 fahrenheit
模型方法。但是,由于各种设计决策,我没有特定的温度字段。 (tl;博士,除了天气之外,我还跟踪许多不同的环境条件,因此我有一个通用的 value
列和一个 type
列。)
我看到了一些替代方案:
- 在内部存储 F。仅当我使用天气数据源时才转换为 C。假设我所在的地区没有拥有健全测量系统的用户。
- 在内部存储 C。在 View 中转换为 F(如果用户的偏好是查看 F)。这会很棘手,因为据我所知,转换
value
的公式需要在 Rails View 和 JS 中实现。 - 在内部存储 C。根据上下文转换为 F,即在创建
type
为温度且用户偏好华氏度的记录时,运行执行转换的before_save
回调。我不知道该做什么来阅读......
构建这个结构的正确方法是什么?谢谢!
最佳答案
内部存储一个表格,并且应该是国际标准化的摄氏度。
任何其他问题都是演示问题。
关于javascript - 在 Rails 应用程序中哪里可以将华氏度转换为摄氏度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12454702/