我的老板讓我寫一個 gem 來為我們的應用程式包裝一個 API(畫布)消費者,我做到了,它可以作業,但在最后一分鐘他讓我不要使用 gem 方法,而是創建一個模型。 .我有一個為端點創建模型并將代碼放在控制器中的模糊想法,但是可以說gem是高度“模塊化”的,模塊需要模塊和從其他類繼承的類......有什么方法可以原樣包含所有內容并像本地安裝的庫一樣使用?最好的方法是什么?我的 gem 依賴于法拉第的 net_http 配接器
uj5u.com熱心網友回復:
我們經常使用這種Service object方法,可以在這里找到一個很好的文章https://blog.appsignal.com/2020/06/17/using-service-objects-in-ruby-on-rails.html
基本上,您將代碼放入app/services并抽象出所有配置和用法,以便您可以執行以下操作:
result = AppServices::SubscriptionService.new({
subscription_params: {
subscription: @subscription,
coupon: params[:coupon],
token: params[:stripeToken]
}
}).call
例如,您的代碼可以存在app/services/canvas/lib。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/473766.html
