0
我的單表繼承系統根據我的服務中的輸入字符串創建它的子類。我想知道是否有更好的方式來編寫這個代碼,因爲它看起來很笨重。有沒有更好的方法來創建Rails子類?
客戶不應該知道,也不應該關心我的子分類結構是什麼。當收到請求時,我得到的參數是:
{calculator: {course: 'science'}}
類:
class Calculator < ActiveRecord::Base
before_save :subclass, on: :create
def subclass
case course.downcase
when "science"
self.type = "Calculator::ScientificCalc"
when "standard"
self.type = "Calculator::StandardCalc"
end
end
end
看來臭有對象上的回調,然後設置「self.type」。任何機構都有更好的解決方案?
類型列已在表格中。在這種情況下,我不希望我的客戶將參數提交爲「課程」名稱以外的任何內容。 – brettu