我在餐桌上添加了两个电子邮件字段:
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>
我该如何解决这个问题?
答案 0 :(得分:2)
请注意,正在运行的开发环境在迁移后不会检测到表结构的更改。
如果您通过迁移添加列,请务必停止并重新启动开发服务器。