Ruby on rails 部署到Heroku时Rails 3中的模型关系问题

Ruby on rails 部署到Heroku时Rails 3中的模型关系问题,ruby-on-rails,activerecord,relationship,Ruby On Rails,Activerecord,Relationship,我在Rails 3应用程序上遇到了关系问题。在我的一个模型的索引视图中,我显示了另一个模型的一个字段,它在本地工作得很好,但是当我把它推给Heroku时,我得到了可怕的消息“我们很抱歉,但出错了。”。当我检查heroku日志时,错误是“ActionView::Template::error(nil:NilClass的未定义方法'marca')” 这是Marca模型: class Marca < ActiveRecord::Base has_many :modelos has_man

我在Rails 3应用程序上遇到了关系问题。在我的一个模型的索引视图中,我显示了另一个模型的一个字段,它在本地工作得很好,但是当我把它推给Heroku时,我得到了可怕的消息“我们很抱歉,但出错了。”。当我检查heroku日志时,错误是“ActionView::Template::error(nil:NilClass的未定义方法'marca')”

这是Marca模型:

class Marca < ActiveRecord::Base
  has_many :modelos
  has_many :vehiculos

end
class-Marca
这是Modelo模型:

class Modelo < ActiveRecord::Base
  belongs_to :marca
  has_many :vehiculos
end
classmodelo
我试图在Modelo索引视图中调用f.marca.nombre,以显示表“marca”中的字段“nombre”。Modelo表中有一个marca_id字段。奇怪的是,它在本地工作,有时如果我改变模型中关系线的顺序,它在heroku上工作。然后在向heroku推了几下后,它又停止了工作

我尝试在heroku控制台上运行“Modelo.reset\u column\u information”

有什么建议吗?我应该做些什么来加载模型中的更改吗?
谢谢

在视图中,您正在执行此操作
f.marca.nombre
'“nombre”是Marca中的一个字段。你必须在modelos_控制器的新动作中做到这一点

def new
  marca = Marca.find(params[:id])
  @madelo = Madelo.new(:marca => marca)
end

检查marca是否为零以及是否设置了marca.nombre?这就是抛出错误的原因。

我在周末添加了几个专栏,并进行了几次迁移。在发布之前,我试着运行了“heroku rake db:migrate”,结果还是一样。为什么要问?您可能忘记了执行迁移,这将使您的某些方法为零。但现在看来情况并非如此。马卡的f是什么?是调用nil的那一个,不是marcai如果是索引视图导致了问题,你能从控制器中发布索引操作和索引视图中处理f变量的部分吗?显示与报告错误的行号相关的代码我不必在新操作中声明任何内容,但我检查了marca的nil,在某些情况下,Modelo没有Marca,所以我必须这样做:如果Modelo.Marca==nil;马卡岛模型;其他的马卡·马卡;终止你建议检查零,救了我一命。谢谢