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