重命名表列名称模型rails

时间:2013-01-16 16:02:05

标签: ruby-on-rails-3.2 field rename

我有这个问题。

我必须实现一个从PostgreSql db读取数据的应用程序。 我无法修改数据库,我只能读这个。

有一个表有一些列,但其中一个名为“update”。

当我尝试从该表中读取所有记录并将其打印到屏幕时,应用程序告诉我:

  

“HomeController中的ActiveRecord :: DangerousAttributeError #index”

     

“更新由ActiveRecord定义”

如何重命名应用程序/模型中的列? (我不能修改db) 什么是解决这个问题的更好的解决方案?

1 个答案:

答案 0 :(得分:0)

您可以使用rails虚拟属性。

class User < ActiveRecord::Base
  def full_name
    [first_name, last_name].join(' ')
  end

  def full_name=(name)
    split = name.split(' ', 2)
    self.first_name = split.first
    self.last_name = split.last
  end
end

然后您可以使用full_name作为模型属性。