为什么我要在我的Heroku应用程序上安装NoMethodError,因为相同的代码在我的本地设置上运行得完美无缺?
该错误由以下代码触发:
@customer = Customer.find(1)
@customer.responses.create(:offer_id => '1', :digit => '2')该代码在本地服务器和本地Rails控制台上按预期工作。
但是,在Heroku上,上面的代码触发了NoMethodError:
NoMethodError (undefined method `responses' for #<Customer:0x7f7bcbee3808>):响应模型通过belongs_to :customer绑定到客户模型。
此外,我可以登录到Heroku控制台并运行它,没有任何问题:
Response.create(:offer_id => '1', :customer_id => '1', :digit => '2')那么,如果上述两种版本在我的本地机器上都能正常工作,为什么关联会在Heroku上失败呢?
--
运行Rails 3.0.6并在Heroku Ruby 1.8.7和Ruby 1.9.2上进行测试
在Heroku和我的本地框上数据库是相同的。
发布于 2011-04-07 03:07:20
通常,当这样的东西不起作用时,它表示您缺少了一个has_many关联。如果您希望访问和belongs_to,则需要同时定义它们--belongs_to和has_many。
听起来,如果它在您的本地机器上工作,而不是Heroku,那么这将是因为您没有将更改推送到Heroku服务器并在那里重新启动控制台。请确保您已按下更改,然后再试一次。
https://stackoverflow.com/questions/5574697
复制相似问题