0

我有一个表 admin。其中有两列'username' 和 'email'。由于早期的应用程序在 php 中,因此错误地使用电子邮件来存储电子邮件的用户名和用户名。现在我们已经在 Rails 中迁移了一小部分应用程序,我想要对Rails 模型进行一些更改,以便username 指向 email 并且 email 指向 username。我无法重命名 db 中的列,因为它会破坏应用程序的 php 端。

这在rails中可能吗?

4

1 回答 1

1

您可以为 set\getusername和 andemail字段创建虚拟属性,并定义 getter 和 setter 方法。可以在此处找到一些示例:

http://railscasts.com/episodes/16-virtual-attributes?view=asciicast

UPD:一些代码

class User < ActiveRecord::Base

  def username
    self.email
  end

  def username=(name)
    self.email=name
    name
  end
end
于 2013-09-18T06:40:39.933 回答