如何修改设计中的新字段

时间:2012-12-28 12:43:27

标签: ruby-on-rails devise

我为我的设计用户添加了两个字段。我这样做是通过在迁移文件中添加它们,如下所示:

t.datetime  :access_bought_at, :default => DateTime.civil(0, 0, 0, 0, 0, 0, 0)
t.string    :access_type, :default => "none"

然后在用户模型中访问这些属性:

attr_accessible :email, :password, :password_confirmation, :remember_me, :access_type, :access_bought_at

然后进行了迁移(rake db:migrate)。

但是我无法访问这些字段并修改它们。我对rails非常陌生,我很确定答案非常简单,但我找不到(或理解我发现的)如何访问和修改这些字段。这就是我想要做的。在某些控制器中,我想修改这些字段,我正在做:

current_user::access_type = "forever"
current_user::access_bought_at = Date.current()

然后,如果我做

puts current_user::email
puts current_user::access_type
puts current_user::access_bought_at

只打印出电子邮件。我猜我错过了或者错过了一步而我没有更新数据库,或者我做错了。我在这里读到(update a table which in not devise model on sign up using devise?)我应该在模型中加一个def。一个def怎么样?有意义的是,因为我改变了模型,我应该给出关于如何修改它的说明,所以添加一个方法来做到这一点似乎是正确的,但该方法应该做什么?

1 个答案:

答案 0 :(得分:1)

设计用户模型仍然像任何其他模型一样具有activerecord api

current_user.access_type = "forever"
current_user.access_bought_at = Date.current()
current_user.save

puts current_user.email
puts current_user.access_type
puts current_user.access_bought_at