Rails ActiveRecord在迁移后无法再找到行

时间:2013-01-02 18:07:54

标签: ruby-on-rails activerecord

使用此控制器/视图

之前,一切都运行良好,花花公子
def testo
  @positions = Positions.find(:all)
  @comments = Comment.find(:all)

  respond_to do |format|
    format.html # new.html.erb
  end
end

查看代码:

.navcon.sprite-gear.sprite
  .notifications.ajaxapp
    .na_head NOTIFICATIONS
      - @comments.each do |comment|
        .na_item
          .na_shell

我通过迁移向“评论”表添加了一列,现在@comments变量未定义。有趣的是,这些代码都没有被更改,数据库中的所有记录仍然存在,(我可以在控制台中使用与控制器中使用的相同的命令来完善它们)

class AddColumn < ActiveRecord::Migration
  def up
    add_column('comments', 'position', 'text')
  end

  def down
  end
end

错误可以在这里看到: http://funjable.com/acc_error.html

1 个答案:

答案 0 :(得分:0)

尝试将迁移更改为:

def change
   add_column :comments, :position, :text
end

我还建议为您的迁移提供一个更具描述性的名称(除非您为我们缩短它,否则从不介意:))