1

以下のコマンドを実行して、Ruby コンソールから新しい MySQL DB アプリを作成しました。

rails new -demo -d mysql

次に、MySQL エディターを使用して 1 つのテーブルを作成しました。Ruby コンソールで Rails サーバーを起動し、正常に動作しました (localhost:3000 を確認しました)。現在、このテーブルのコントローラー クラスを作成できません。ネットで与えられた多くのコマンドを試しましたが、何も機能していないようです。

Rubyコマンドコンソールから、以下のコマンドを使用してrailsコンソールに切り替えました

rails console

次に、以下のコマンドを入力して、nil を返すコントローラー クラスを作成しました。

irb(main):003:0> class CategoryController < ApplicationController
irb(main):004:1> def index
irb(main):005:2> end
irb(main):006:1> def show
irb(main):007:2> end
irb(main):008:1> end
=> nil

しかし、アプリケーションの app/controller フォルダーにそのようなクラスは作成されませんでした。

いくつかのチュートリアルを読んだところ、コントローラークラスがレールで自動的に作成されることが言及されました。私もそれらを試しましたが、実行されませんでした。

何かが欠けているかどうかはわかりません。誰かがさらなるステップを導くのを手伝ってくれませんか。サーバー側でのみRORを使用しています。私の Android アプリはこの DB を使用します。

MySQL を使用したサーバー側のコーディングに ROR を使用して、関連する初心者向けチュートリアルまたはサンプル例を提供していただけると、非常に役立ちます。

ありがとう。

4

1 に答える 1

1

Rails コンソールは、実行時にコードをテストするために使用されます。実際にファイルに格納されて再利用されるコードを生成するためではありません。コントローラーを生成する正しい方法は、rails generate controller(Rails コンソールや からではなく) システムのコマンド ラインからコマンドを使用することirbです。

CategoryControllerこれにより、2 つのアクションを含むファイルが作成されますindex, show。これらのアクションを省略したり、追加のアクションを追加したりできます。

rails generate controller CategoryController index show

これにより、すべての gem 依存関係が正しく満たされていると仮定すると、以下のような出力が得られます。

  create  app/controllers/category_controller_controller.rb
   route  get "category_controller/show"
   route  get "category_controller/index"
  invoke  erb
  create    app/views/category_controller
  create    app/views/category_controller/index.html.erb
  create    app/views/category_controller/show.html.erb
  invoke  test_unit
  create    test/controllers/category_controller_controller_test.rb
  invoke  helper
  create    app/helpers/category_controller_helper.rb
  invoke    test_unit
  create      test/helpers/category_controller_helper_test.rb
  invoke  assets
  invoke    js
  create      app/assets/javascripts/category_controller.js
  invoke    scss
  create      app/assets/stylesheets/category_controller.css.scss
于 2013-08-04T13:09:08.203 に答える