【发布时间】:2011-02-02 03:59:58
【问题描述】:
我在 Rails 中定义了我自己的 AR 类,它将包括为用户字段 0-9 动态创建的实例方法。用户字段不直接存储在数据库中,它们将被一起序列化,因为它们不经常使用。以下是最好的方法吗?替代品?
应该从哪里调用添加方法的启动代码?
class Info < ActiveRecord::Base
end
# called from an init file to add the instance methods
parts = []
(0..9).each do |i|
parts.push "def user_field_#{i}" # def user_field_0
parts.push "get_user_fields && @user_fields[#{i}]"
parts.push "end"
end
Info.class_eval parts.join
【问题讨论】:
标签: ruby-on-rails ruby metaprogramming