Rails:ActionView :: Template :: Error - 未定义的方法'comment'

时间:2013-02-07 19:41:56

标签: ruby-on-rails ruby heroku

我在渲染输入数据表单时遇到问题。控制器如下所示:

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之后我收到了这个错误。

哪里可能有问题?

3 个答案:

答案 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