过去两周来我一直在使用RoR,但不确定在哪里放置逻辑。
我有两个模型:Site
和Post
。 Post
模型与代表各种度量标准的其他模型有很多关系,例如:InteractionMetrics
。保存帖子后即会计算交互指标,对于实际的数据收集,我使用了第三方服务。我已经创建了用于与第三方服务进行交互的API包装器(SDK),并且在InteractionMetrics
中,我具有:
class InteractionMetrics < ApplicationRecord
def gather_interactions
client = XxxApi.new <url_of_post>
data = client.get_interactions
# Save data here
end
end
现在,我不确定这是否是放置此逻辑的正确位置,否则,我应该放在哪里?
顺便说一句,我知道我不应该问一个以上的问题,但是我不确定如何获得this
所属的帖子。
答案 0 :(得分:0)
# app/models/interaction_metrics.rb
require 'my_resource'
class InteractionMetrics < ApplicationRecord
def gather_interactions
MyResource.get_interactions
end
end
然后将红宝石代码放在/ lib文件夹中
# lib/my_resource.rb
class MyResource
URL = <url_of_post>
def self.get_interactions
client = XxxApi.new(URL)
client.get_interactions
end
end