我很簡單地在UsersController#new
設置我的用戶模型的字段錯誤:給出的Heroku在Rails的模型上設置一個字段其觀點
def new
@user = User.new
@user.next_billing_cycle = Date.today
respond_to do |format|
format.html # new.html.erb
format.json { render json: @user }
end
end
作品在我的開發環境完美。我的用戶模型attr_accessible :next_billing_cycle
所以它有一個相應的date_select
組字段太:
class User < ActiveRecord::Base
attr_accessible :name, :next_billing_cycle
end
然而,在Heroku上,我得到這個錯誤:
2012-11-28T21:02:47+00:00 app[web.1]: Started GET "https://stackoverflow.com/users/new" for 173.55.174.235 at 2012-11-28 21:02:47 +0000
2012-11-28T21:02:47+00:00 heroku[router]: at=info method=GET path=/users/new host=example.com fwd=173.55.174.235 dyno=web.1 queue=0 wait=0ms connect=1ms service=402ms status=500 bytes=643
2012-11-28T21:02:47+00:00 app[web.1]:
2012-11-28T21:02:47+00:00 app[web.1]: NoMethodError (undefined method `next_billing_cycle=' for #<User:0x00000004f47618>):
2012-11-28T21:02:47+00:00 app[web.1]:
2012-11-28T21:02:47+00:00 app[web.1]: Completed 500 Internal Server Error in 322ms
2012-11-28T21:02:47+00:00 app[web.1]:
2012-11-28T21:02:47+00:00 app[web.1]: app/controllers/users_controller.rb:29:in `new'
2012-11-28T21:02:47+00:00 app[web.1]: Processing by UsersController#new as HTML
UPDATE:我應該明確表示,我確實運行heroku rake db:migrate
。
您是否在遠程數據庫上運行所有遷移? – jdoe
如果您在Heroku啓動應用程序後運行遷移,則可能需要'heroku restart',因爲Rails在生產中默認緩存數據庫模式。 – willglynn
@willglynn - 我沒有做'heroku重啓'。目前我不能,但會在不久的將來嘗試。 –