2
我想能够动态地创建类,用于在Rails应用程序之外的脚本,从ActiveRecord继承。动态创建一个从ActiveRecord继承的类?
我卡上是这样的:
require 'active_record'
def create_arec(table_name)
Class.new ActiveRecord::Base do
self.table_name = table_name
yield
end
end
Band = create_arec 'bands' do
scope :only_rock, -> {where genre: 'rock'}
end
rock_bands = Band.only_rock #undefined method `only_rock'
如何使它工作,或可有人告诉我更好的方式来做到这一点?
伙计!真的?为什么?而如果!只需使用'class_eval'。如果他们必须维护这个,你将会被某个人杀死!我告诉你,不是在开玩笑! – phoet
也许我更好奇,如果你可以在块内产生Class.new块然后打算实际使用..无论如何,是的谢谢,class_eval会好得多。我爱红宝石。 –
为您的问题写一个答案并标记为已解决,以便人们不必再查看此问题。 – phoet