Rails - 输入时没有错误但输出为“nil”

时间:2014-01-29 06:32:22

标签: ruby-on-rails ruby-on-rails-3

所以我故意在Post模型中没有包含:text属性。然后我做了“rails g migration AddTextToPost text:string”将该列添加到我的帖子中。在我的帖子/ new中,我有一个text_are:text。我能够创建一个帖子,但我无法得到:文本信息。在rails控制台中,@ post.text给了我一个零。我已经做过“rake db:migrate”等等。表格在那里,但它没有得到我输入的任何信息......任何建议和解释?感谢

3 个答案:

答案 0 :(得分:0)

如果您的迁移rake db:migrate已成功运行。然后属性应该在Post模型中可用。在rails控制台中运行 reload!或使用 ctrl + c 退出,然后再次进入rails console。您应该能够看到更新的表更改

答案 1 :(得分:0)

在rails控制台中:

reload! # to reload the environment of rails console and it reread the db connected to it
@post.reload # to reload the values of @post(or whatever object name) from db table, basically invalidates the cache and loads the data from db again.
@post.text # get the updated value.

答案 2 :(得分:0)

你可以在console @ post = Post.last中试试 如果显示text属性意味着您的迁移成功运行 否则运行rakedb:迁移并重新加载控制台并重启rails控制台(ctr + c)和rails s