こんにちは、私はレールの初心者です。いくつかのアプリケーションを作成していますが、ある時点で立ち往生しています。
問題は、ユーザーIDごとに製品にデータを挿入したいのですが、次のように言っています:
初期化されていない定数
ここに私のルートファイルがあります:
Rails.application.routes.draw do
#devise_for :users
devise_for :users, :controllers => { :registrations => 'users/registrations' }
resources :dashboard
root to: "home#index"
namespace :user do
resources :users
end
resources :product
end
これが私の製品コントローラー、つまりproduct_controller.rbです。
class Product::ProductController < ApplicationController
def new
@product = Product.new
end
def create
@product = Product.new(params[:product])
if @product.save
flash[:success] = "Product Added"
redirect_to product_index_path
else
flash[:success] = @product.errors.full_messages.join
redirect_to :back
end
end
end
そして、ここに私の new.html.erb コードがあります:
<h2>Add Product</h2>
<%= form_for(resource, :as => resource_name, :url => user_registration_path) do |f| %>
<div class="field">
<%= f.label :product_name %><br />
<%= f.text_field :product_name, autofocus: true %>
</div>
<%= p.hidden_field :user_id, :value => current_user %>
<div class="actions">
<%= f.submit "Add Product" %>
</div>
<% end %>
<% end %>
私はこれも間違っていることを知っています:
<%= form_for(resource, :as => resource_name, :url => user_registration_path) do |f| %>
すべてのパーツを 1 つにするにはどうすればよいですか? 私の目標は、新しいページを使用して製品名を追加し、製品リスト ページにリダイレクトすることです。