小编use*_*421的帖子

Rails中列名的别名

在我的数据库中有列名,如'delete'或'listen-control'等.这些不能更改,所以我想为名称添加别名,以避免我的应用程序出现问题.

我发现以下代码但它已过时(2005年8月5日)并且不适用于Rails 3:

module Legacy
  def self.append_features(base)
    super
    base.extend(ClassMethods)
  end
  module ClassMethods
    def alias_column(options)
      options.each do |new_name, old_name|
        self.send(:define_method, new_name) { self.send(old_name) }
        self.send(:define_method, "#{new_name}=") { |value| self.send("#{old_name}=", value) }
      end
    end
  end
end

ActiveRecord::Base.class_eval do
  include Legacy
end
Run Code Online (Sandbox Code Playgroud)

我如何为列名称添加别名?可能吗?

database activerecord ruby-on-rails ruby-on-rails-3

65
推荐指数
3
解决办法
4万
查看次数