为什么属性不能保存在Rails中?

时间:2009-07-21 13:42:21

标签: ruby-on-rails ruby apache

我在我正在运行的Rails应用程序中添加了一个“帐户”变量,并在开发环境中使用mongrel服务器进行了测试。一切都很好。我将我的环境设置为生产并使用我们的Apache服务器,突然间没有任何作用。经过大量的调试后,我发现帐户变量在我的方法中成功使用SET,但它不是SAVING(也就是说,一旦它离开设置它的方法,它就是零)。我可以打电话保存或保存!我想要多次,而且还没有被设定。

该属性是可访问的,我没有在日志中看到任何错误......它只是没有保存。

知道发生了什么事吗?

-Jenny

2 个答案:

答案 0 :(得分:2)

啊,我迁移到dev,但不是生产。我不认为它可能是迁移,因为如果它是,我推断,我将无法访问@ video.account,或者其他什么,因为我会得到一个“方法不存在”错误(这是在我迁移之前我得到了什么。

答案 1 :(得分:0)

更多信息可以帮助您了解发生这种情况的原因:

签出文件db/schema.rb - 它包含数据库的Ruby表示,并在每次迁移时更新。 Rails中的模型将其属性基于此文件。

因此,当您在开发模式下迁移时,架构文件会更新。当您转到生产模式时,将保留该文件,并且Rails不知道您尝试分配的列不存在。因此,您更新的对象接受属性赋值,发送查询并继续 - 不会注意到该属性没有真正保存。

这是我对它的理解 - 希望这可以帮助你完成任务!