我在heroku上有一个应用程序,我最近添加了一个db列。迁移已运行,应用程序已重新启动但仍然时不时地调用此列方法时出现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
答案 0 :(得分:0)
heroku run rake db:migrate
应该做的伎俩;)