2017-05-04 48 views
0

我有一个应用程序在我最近添加了一个数据库列的Heroku。迁移运行,应用程序重新启动,但仍然每隔一段时间,然后我调用此列方法时出现NoMethod错误。在Heroku上的新数据库列的NoMethod错误

我很困惑,因为当我尝试在heroku上的rails控制台上复制错误时,一切似乎都没问题。即使当我加载导致生产中的错误的URL时,一切似乎都没问题。

我的第一个赌注是其中一个dynos没有正确重启。有任何想法吗?

线触发异常

if @company.ip_allowed_cookie 

错误消息:

NoMethodError: undefined method `ip_allowed_cookie' for #<Company:0x007fb78394baa0> 

迁移文件:

class AddIpAllowedCookieToCompanies < ActiveRecord::Migration 
    def change 
    add_column :companies, :ip_allowed_cookie, :boolean 
    end 
end 

IRB:

irb(main):004:0> Company.columns.last 
=> #<ActiveRecord::ConnectionAdapters::PostgreSQLColumn:0x007f2003ab20c8 @array=false, @name="ip_allowed_cookie", @cast_type=#<ActiveRecord::Type::Boolean:0x007f2003946a18 @precision=nil, @scale=nil, @limit=nil>, @sql_type="boolean", @null=true, @default=nil, @default_function=nil> 

irb(main):001:0> Company.first.ip_allowed_cookie 
=> nil 
+2

你能分享你的错误和迁移文件在这里? –

+0

可能是某处的拼写错误 - 有关发生此错误的哪个视图或哪个操作的更多详细信息。请发布@ChetanMehta建议的相关细节,我相信这可以很快解决。 – BKSpurgeon

+0

@ChetanMehta我添加了缺失的详细信息 – aladac

回答

0

heroku run rake db:migrate应该做的伎俩;)

+0

“迁移已运行,应用程序已重新启动,但仍...” – aladac