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

时间:2018-01-20 13:21:19

标签: ruby-on-rails ruby-on-rails-5 activeadmin

我在餐桌上添加了两个电子邮件字段:

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

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

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

但是当我点击管理界面中的“创建新餐厅”时,我收到以下错误:NoMethodError in Admin::Restaurants#new undefined method 'email2' for #<Restaurant:0x007f9490cc0340>

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

请注意,正在运行的开发环境在迁移后不会检测到表结构的更改。

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