0

Android アプリから送信された JSON を使用して、MySQL データベースの「Category」テーブルに新しい行を作成しようとしています。サーバー側のコーディングは RubyOnRails で行います。しかし、サーバー側で Uninitialized 定数エラーが発生しています。エラーは以下の通り

ActionController::RoutingError (uninitialized constant CategoryController):

私のrotues.rbファイルは

ROMS::Application.routes.draw do
  resources :categories

  resources :projects

  get "category/new"

  get "category/index"

  get "category/show"

  get "category_controller/index"

  get "category_controller/show"

  post "category/create"

JSON を送信するための URL にカテゴリ/作成を指定しました。私の CategoryController クラスは次のとおりです。

class CategoriesController < ApplicationController
  # GET /categories
  # GET /categories.json
  def index
    @categories = Category.all

    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @categories }
    end
  end

  # GET /categories/1
  # GET /categories/1.json
  def show
    @category = Category.find(params[:id])

    respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @category }
    end
  end

  # GET /categories/new
  # GET /categories/new.json
  def new
    @category = Category.new

    respond_to do |format|
      format.html # new.html.erb
      format.json { render json: @category }
    end
  end

  # GET /categories/1/edit
  def edit
    @category = Category.find(params[:id])
  end

  # POST /categories
  # POST /categories.json
  def create
    @category = Category.new(params[:category])

    respond_to do |format|
      if @category.save
        format.html { redirect_to @category, notice: 'Category was successfully created.' }
        format.json { render json: @category, status: :created, location: @category }
      else
        format.html { render action: "new" }
        format.json { render json: @category.errors, status: :unprocessable_entity }
      end
    end
  end

  # PUT /categories/1
  # PUT /categories/1.json
  def update
    @category = Category.find(params[:id])

    respond_to do |format|
      if @category.update_attributes(params[:category])
        format.html { redirect_to @category, notice: 'Category was successfully updated.' }
        format.json { head :ok }
      else
        format.html { render action: "edit" }
        format.json { render json: @category.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /categories/1
  # DELETE /categories/1.json
  def destroy
    @category = Category.find(params[:id])
    @category.destroy

    respond_to do |format|
      format.html { redirect_to categories_url }
      format.json { head :ok }
    end
  end
end

テーブルに値を含む行を作成するために何を初期化する必要があるのか​​ わかりません。お知らせ下さい。また、新しい行を作成するためにサーバー側で JSON を解析する必要があるかどうかを提案してください。これはRORによって処理されると読みましたが、よくわかりません。

私は ROR の初心者なので、これが基本的な質問に聞こえる場合は申し訳ありません。ありがとう。

4

2 に答える 2

0

コントローラー コードでは、「CategoriesController」という名前を付けました。しかし、ルートでは「CategoryController」が必要です。修正してみてください。

于 2013-08-06T09:06:49.303 に答える