Rails - 暂存中的未定义方法,但在本地开发中很好

时间:2013-06-17 15:58:29

标签: ruby-on-rails capistrano undefined

我正在开发一个项目,并添加了一个迁移,以便向project_page_description模型添加Company字段。当我运行迁移时,

@company = Company.first
@company.project_page_description

在本地工作,但是在我部署后尝试访问project_page_description时,我得到一个未定义的方法错误。为什么它在本地工作但不能远程工作?

我已经部署了所有代码,因此代码库是相同的,我已经运行了所有迁移,我使用的是Bundler和Capistrano,而且我正在部署到CentOS服务器。

另外,除了停止编程之外,我还能做些什么来阻止这种情况再次发生?

2 个答案:

答案 0 :(得分:1)

看起来尚未运行迁移。也许你使用开发环境运行它们?尝试运行它们:RAILS_ENV=staging bundle exec rake db:migrate

答案 1 :(得分:0)

检查您的捆绑包组,应用程序配置和环境初始化程序文件,您是否可以将某些内容定义为仅开发而不是暂存?还尝试在暂存时打开控制台并尝试手动加载和调用未找到的模块。请记住,如果模块尚未加载,则require返回true。