2013-10-18 98 views
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」。任何機構都有更好的解決方案?

回答

0

林不知道如果我在那裏得到你想做的,但你應該在你的計算器表上創建一個類型列,並且你的類將從計算器繼承它。

+0

類型列已在表格中。在這種情況下,我不希望我的客戶將參數提交爲「課程」名稱以外的任何內容。 – brettu

相關問題