私はプロダクションHeroku環境にアプリをプッシュしました。ActiveRecord :: UnknownAttributeError?
は基本的にBus
モデルがあり、それが今、私はPOSTのJSON buses#create
アクションに新しいバスのJavaScriptフロントエンドをseats
属性
class Bus < ActiveRecord::Base
attr_accessible :seats, # other attributes
end
を持っていました。
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'
パラメータは、コントローラのアクションの罰金に達しています。私はそれらをログに記録することができますし、私はfolowingます:
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}}
私は(私はHerokuのコンソールでこれを実行しました)Bus
テーブルが実際にseats
列を持っており、それがないことを確認:
> Bus.column_names
=> ["id", "name", "route_id", "created_at", "updated_at", "price", "departure_time", "trip_distance", "trip_duration", "seats"]
とのもちろん、私はデータベーススキーマの移行とロードを試みました。 attr_accessible :seats
が正しく設定されていることを確認しました。
他のアイデアはありますか?
私はHeroku CedarスタックでRails 3.1.1を実行しています。私のローカルマシンではすべて正常に動作します。
この場合、「heroku restart」を試してください。私はちょうど移行を実行した後にこの問題を抱えていましたが、再起動して問題を解決しました。 – Leito
私は 'heroku restart'を試してみましたが、それは私にとってはうまくいかなかったので、私はこの問題を探究し、この投稿に出会い、' heroku restart'が私のステージング環境にデフォルト設定されていることに気付きました。私の制作アプリを強制する: 'heroku restart --app myproductionapp'が働いた! – DJTripleThreat
これは、アプリをデプロイして移行を実行したためであったに違いありません。しかし、アプリは既に稼働していたので、dbスキームの変更に気付かなかった。つまり、[再起動する](http://stackoverflow.com/a/15743272/52499)[it](http://stackoverflow.com/a/20188292/52499)でした。 –