在试图将表单保存到数据库时,获取未初始化常量的错误(RubyonRails)



我收到一个错误"未初始化的常量Admins:ProductsController::Product",我整天都在想我做错了什么,但一无所获。

我正试图通过表单将数据提交到数据库。我在子目录"admins"中也有控制器和模型。

控制器/admins/products_controller.rb

class Admins::ProductsController < ApplicationController
def new
end
def show
@product = Product.find(params[:id])
end
def create
@product = Product.new(product_params)
@product.save
redirect_to @product
end
private def product_parms
params.require(:product).permit(:title, :content)
end
end

views/admins/products/new.html.erb

<%= render 'layouts/adminsidebar' %>
<%= form_for :product, url: admins_products_path do |f| %>
<%= f.label :title %>
<%= f.text_field :title %>
<%= f.label :content%>
<%= f.text_area :content%>
<%= f.submit %>
<% end %>

路线.rb


namespace :admins do
get 'new' => 'products#new'
resources :products
end
devise_for :users
root 'pages#index'
get 'about' => 'pages#about'
get 'productsdis' => 'products#productsdis'
get 'adminpanel' => 'admins#adminpanel'
get 'admin' => 'admins#admin'
end

迁移文件

def change
create_table :admin_products do |t|
t.string :title
t.text :content
t.timestamps
end
end
end

型号/admin/product.rb

class Admin::Product < ApplicationRecord
end

您在Admin::ProductsController中调用Product.new,它应该是Admin::Product.new

最新更新