我想在按下按钮时通过调用外部 API 来更新我的数据。
我应该将逻辑放在控制器还是模型中?
或者更确切地说,哪些逻辑应该进入控制器,哪些应该进入模型。
基本上,我想检查是否在外部服务上创建了新记录 - 如果有新记录,那么我想拉出这些记录并在我这边创建一个新记录。
如果没有,那么就忽略它并继续前进。
解决这个问题的最佳方法是什么?
代码示例会有所帮助。
谢谢。
我想在按下按钮时通过调用外部 API 来更新我的数据。
我应该将逻辑放在控制器还是模型中?
或者更确切地说,哪些逻辑应该进入控制器,哪些应该进入模型。
基本上,我想检查是否在外部服务上创建了新记录 - 如果有新记录,那么我想拉出这些记录并在我这边创建一个新记录。
如果没有,那么就忽略它并继续前进。
解决这个问题的最佳方法是什么?
代码示例会有所帮助。
谢谢。
我将在其下创建一个类或模块lib
来处理所有核心 API 调用,并在模型中调用它。
所以我会做如下的事情。创建文件,如lib/tag_fetcher.rb
:
module TagFetcher
def self.fetch_tags(...)
# adress some API to fetch the tags
end
end
然后在你的模型中写下类似的东西
def self.update_tags
api_result = TagFetcher.fetch_tags
# do your stuff here
end
(当然:您应该为您的案例考虑更相关的名称)
这样做的原因:
HTH。