2
我正在創建一個具有許多不同類型的對象的應用程序,我想讓用戶可以上傳到其中的任何一個。有許多指南可以在一個特定模型中創建導入函數,但我不想在每個模型中複製代碼。有沒有更好的方法?Rails中的簡單CSV導入函數將'表'名稱作爲變量?
例如,Product.create! row.to_hash,我如何使用變量而不是硬編碼'Product'?
我正在創建一個具有許多不同類型的對象的應用程序,我想讓用戶可以上傳到其中的任何一個。有許多指南可以在一個特定模型中創建導入函數,但我不想在每個模型中複製代碼。有沒有更好的方法?Rails中的簡單CSV導入函數將'表'名稱作爲變量?
例如,Product.create! row.to_hash,我如何使用變量而不是硬編碼'Product'?
constantize
將把一個類名變成一個實際的類對象。
# params = { table: 'products' }
klass = params[:table].classify.constantize # => Product
klass.create! row.to_hash # or whatever