Admin::Restaurants#new Active Admin Rails 5 中的 NoMethodError

NoMethodError in Admin::Restaurants#new Active Admin Rails 5

我在我的 Restau 中添加了两个电子邮件字段运行t table:

class AddEmailsToRestaurants < ActiveRecord::Migration[5.1]
  def change
    add_column :restaurants, :email2, :string, null: true, default: nil
    add_column :restaurants, :email3, :string, null: true, default: nil
  end
end

I 运行 rails db:migrate 并且我想在 Active Admin 表单中添加这两个字段,以便从管理界面创建新的 Restau运行ts :

ActiveAdmin.register Restaurant do
  permit_params :email, :email2, :email3, [...]
  filter :name

  form do |f|
    f.inputs "Restaurant" do
      f.input :name
      f.input :email
      f.input :email2
      f.input :email3
      f.input :password
      f.input :password_confirmation
      f.input :address
      f.input :address2
      f.input :phone_number
      f.input :city
      f.input :post_code
      f.input :latitude
      f.input :longitude
      f.input :photo
    end
    f.actions
  end
[...]
end

但是当我在管理界面中点击 'Create new Restaurant' 时,出现以下错误:NoMethodError in Admin::Restaurants#new undefined method 'email2' for #<Restaurant:0x007f9490cc0340>

我该如何解决这个问题?

请注意,运行 开发环境不会检测迁移后对 table 结构的更改。

如果您通过迁移添加列,请务必停止并重新启动您的开发服务器。