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 结构的更改。
如果您通过迁移添加列,请务必停止并重新启动您的开发服务器。
我在我的 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 结构的更改。
如果您通过迁移添加列,请务必停止并重新启动您的开发服务器。