我在渲染输入数据表单时遇到问题。控制器如下所示:
class AdsController < ApplicationController
def new
@ad = current_user.ads.build()
respond_to do |format|
format.html { render :layout => 'new' }# new.html.erb
format.json { render json: @ad }
end
end
end
在视图(相关部分)中:
<%= form_for ([@ad.user, @ad]) do |f| %>
...
<%= f.label 'Description' %></div>
<%= f.text_area :comment, cols:35, rows:4 %>
...
<% end %>
模特:
class Ad < ActiveRecord::Base
attr_accessible :title, :url, :comment, :category_id, :layout, :user_id
...
end
当我渲染表单时,我收到错误:
ActionView :: Template :: Error(
的未定义方法`comment')
这很奇怪,因为在localhost上它正在工作,但在将应用程序上传到Heroku之后我收到了这个错误。
哪里可能有问题?
答案 0 :(得分:1)
检查您的迁移:
$ heroku run rake db:migrate:status
确认您已运行所有迁移。当您推送新代码时,Heroku不会自动运行您的迁移。
运行$ heroku run rake db:migrate
来运行它们。
答案 1 :(得分:0)
重新启动heroku dyno为我工作
$ heroku ps:restart
答案 2 :(得分:0)
我的数据库迁移都是最新的,因此重新启动heroku dyno为我解决了此问题。我跑了:
heroku ps:restart