我只是将一个应用程序推送到生产的Heroku环境中。

基本上有一个Bus模型,它具有seats属性

class Bus < ActiveRecord::Base
  attr_accessible :seats, # other attributes
end

现在,我有一个JavaScript前端,该POST的JSON用于JSONt_code操作的新总线。

当我尝试创建总线时,ActiveRecord不断遇到错误:
: POST www.busables.com/buses dyno=web.1 queue=0 wait=5ms service=65ms status=500 bytes=728
:
: ActiveRecord::UnknownAttributeError (unknown attribute: seats):
:   app/controllers/buses_controller.rb:31:in `new'
:   app/controllers/buses_controller.rb:31:in `create'

参数达到 Controller 的正常值。我可以记录它们,得到以下提示:
The bus parameters received: {"seats"=>"24", "departure_time(1i)"=>"2011", "departure_time(2i)"=>"11", "departure_time(3i)"=>"25", "departure_time(4i)"=>"16", "departure_time(5i)"=>"15", "route_attributes"=>{"summary"=>"N51", "beginning_address"=>"A place", "terminal_address"=>"Another place", "distance"=>26362, "duration"=>1753}}

我检查了buses#create表是否实际上具有Bus列,并且确实如此(我在Heroku控制台中运行了该列):
> Bus.column_names
=> ["id", "name", "route_id", "created_at", "updated_at", "price", "departure_time", "trip_distance", "trip_duration", "seats"]

当然,我已经尝试了迁移和加载数据库模式。我检查了seats的设置是否也正确。

还有其他想法吗?

我在Heroku Cedar堆栈上运行Rails 3.1.1。在我的本地计算机上一切正常。

最佳答案

这是陈词滥调,但我早上又试了一次,效果很好!我怀疑这可能是某种传播问题。

关于ruby-on-rails - ActiveRecord::UnknownAttributeError?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8139578/

10-12 05:19