Tôi cần tạo một lớp Ruby ngay lập tức, tức là động, có nguồn gốc từ ActiveRecord::Base
. Tôi sử dụng eval
cho thời gian được:Tạo một Lớp Ruby ngay lập tức mà không cần eval
eval %Q{
class ::#{klass} < ActiveRecord::Base
self.table_name = "#{table_name}"
end
}
Có tương đương, và ít nhất không kém cách súc tích để làm điều này mà không sử dụng eval
?
Đây là lời cảm ơn. Tôi biết rằng các lớp học cũng là các đối tượng; nhưng tôi không biết rằng có thể cung cấp cho các lớp cơ sở như một đối số và đặc biệt là về khối (trong hindsight, tôi nên đã đoán). – DrTom