Admin::ApartmentPostsController#create 中的 NoMethodError
NoMethodError in Admin::ApartmentPostsController#create
我在 Rails 网站上的 Ruby 中为我的管理面板使用活动管理员。我的 ApartmentPost 资源上有这段代码。
ActiveAdmin.register ApartmentPost do
permit_params :title, :max_stay, :min_stay, :bed_configuration, :number_of_guests,
:features, :description, :admin_user_id, :apartment_number,:latitude, :longitude, :clean_fee, :country, :location, photos: []
form(html: { multipart: true }) do |f|
f.inputs do
f.input :title
f.input :max_stay
f.input :min_stay
f.input :bed_configuration
f.input :number_of_guests
f.input :features
f.input :description
f.input :country
f.input :location
f.input :apartment_number
f.input :latitude
f.input :longitude
f.input :clean_fee
f.input :admin_user_id, as: :hidden, input_html: {value: current_admin_user.id}
f.file_field :photos, multiple: true
end
f.actions
end
所以我遇到的错误是在创建新的 ApartmentPost 时出现的。错误是:
我在 AparmentPost 中创建了一个名为 rate 的列,但现在它已被删除。仍然出现此错误。
这是来自 schema.rb 的 table:
create_table "apartment_posts", force: :cascade do |t|
t.integer "admin_user_id", null: false
t.integer "max_stay", null: false
t.string "bed_configuration", null: false
t.integer "number_of_guests", null: false
t.string "features", null: false
t.string "description", null: false
t.json "photos"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "title", null: false
t.string "country", null: false
t.string "apartment_number", null: false
t.string "latitude"
t.string "longitude"
t.integer "min_stay", null: false
t.string "location", null: false
t.integer "clean_fee", default: 100, null: false
t.integer "property_type_id"
t.index ["admin_user_id"], name: "index_apartment_posts_on_admin_user_id", using: :btree
t.index ["property_type_id"], name: "index_apartment_posts_on_property_type_id", using: :btree
end
这是routes.rb
中的代码
devise_for :admin_users, ActiveAdmin::Devise.config
ActiveAdmin.routes(self)
我是 Rails 的新人,并且是活跃的管理员。我尝试到处搜索解决方案,甚至尝试卸载 active_admin gem 并再次安装并删除 apartment_post 资源并再次生成它,但是 none og 他们工作了。
您可能忘记删除代码库中某处的 rate
。如果您遗漏了什么,请尝试搜索。
我在 Rails 网站上的 Ruby 中为我的管理面板使用活动管理员。我的 ApartmentPost 资源上有这段代码。
ActiveAdmin.register ApartmentPost do
permit_params :title, :max_stay, :min_stay, :bed_configuration, :number_of_guests,
:features, :description, :admin_user_id, :apartment_number,:latitude, :longitude, :clean_fee, :country, :location, photos: []
form(html: { multipart: true }) do |f|
f.inputs do
f.input :title
f.input :max_stay
f.input :min_stay
f.input :bed_configuration
f.input :number_of_guests
f.input :features
f.input :description
f.input :country
f.input :location
f.input :apartment_number
f.input :latitude
f.input :longitude
f.input :clean_fee
f.input :admin_user_id, as: :hidden, input_html: {value: current_admin_user.id}
f.file_field :photos, multiple: true
end
f.actions
end
所以我遇到的错误是在创建新的 ApartmentPost 时出现的。错误是:
我在 AparmentPost 中创建了一个名为 rate 的列,但现在它已被删除。仍然出现此错误。
这是来自 schema.rb 的 table:
create_table "apartment_posts", force: :cascade do |t|
t.integer "admin_user_id", null: false
t.integer "max_stay", null: false
t.string "bed_configuration", null: false
t.integer "number_of_guests", null: false
t.string "features", null: false
t.string "description", null: false
t.json "photos"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "title", null: false
t.string "country", null: false
t.string "apartment_number", null: false
t.string "latitude"
t.string "longitude"
t.integer "min_stay", null: false
t.string "location", null: false
t.integer "clean_fee", default: 100, null: false
t.integer "property_type_id"
t.index ["admin_user_id"], name: "index_apartment_posts_on_admin_user_id", using: :btree
t.index ["property_type_id"], name: "index_apartment_posts_on_property_type_id", using: :btree
end
这是routes.rb
中的代码devise_for :admin_users, ActiveAdmin::Devise.config
ActiveAdmin.routes(self)
我是 Rails 的新人,并且是活跃的管理员。我尝试到处搜索解决方案,甚至尝试卸载 active_admin gem 并再次安装并删除 apartment_post 资源并再次生成它,但是 none og 他们工作了。
您可能忘记删除代码库中某处的 rate
。如果您遗漏了什么,请尝试搜索。