【发布时间】:2018-03-03 04:09:13
【问题描述】:
我正在使用 Sinatra 框架开发一个应用程序。我会知道存储映射方法的最佳位置:在控制器或装饰器中。事实上,我从一个有法国领土的法国网站导入数据,我想将数字领土从数字转换为名称。
这是我的方法:
def territory_mapping(code)
{
'01' => 'Auvergne-Rhône-Alpes',
'02' => 'Hauts-de-France',
'03' => 'Auvergne-Rhône-Alpes'
}[code]
end
我想知道我可以在哪里存储这个方法。
【问题讨论】:
-
这取决于上下文和复杂性。你能把代码作为例子吗?
-
我添加了示例。
-
尝试将这样的固定哈希声明为常量,这样您就不需要在每次执行该方法时都创建新对象(和垃圾!)。那只是一个查找表。如果您的 Sinatra 应用程序只是一个文件,您可以将它放在您喜欢的任何位置。如果它有多个文件,那么它的去向取决于您,Sinatra 没有像 Rails 那样的特定约定。
-
你怎么知道这个地方?
-
您的业务逻辑是否只需要在一个控制器/一个类中使用此哈希?如果是这样,只需将哈希作为常量放入该文件中