[尝试将表单保存到数据库时获取错误未初始化的常量(Ruby on Rails)]]

问题描述 投票:0回答:1

我收到一个错误消息“未初始化的常量Admins :: ProductsController :: Product”,我一直在努力弄清自己整天在做什么错并且什么都没做。

我正在尝试通过表单将数据提交到数据库。我还将控制器和模型放在子目录“ admins”中。

controllers / 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 %>

routes.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

models / admin / product.rb

class Admin::Product < ApplicationRecord
end

我收到一个错误消息“未初始化的常量Admins :: ProductsController :: Product”,我一直在努力弄清自己整天在做错什么,却一无所获。我正在尝试提交数据...

ruby-on-rails
1个回答
0
投票

您在Product.new应该在Admin::ProductsController的位置呼叫Admin::Product.new

© www.soinside.com 2019 - 2024. All rights reserved.