web-dev-qa-db-ja.com

すべてのRESTful機能を備えたコントローラーを生成する

すべてのRESTfulアクションがスタブ化されたコントローラーを生成しようとしています。 link text で読んだことがあるのは、コントローラー名だけでジェネレーターを呼び出して、それを取得するだけだったということです。そこで、「script/generate rspec_controller Properties」を実行し、空のコントローラーを取得しました。

他の提案は大歓迎です。

82
Barb

それを行う自動化された方法については知りませんが、あなたがそうするなら:

script/generate controller your_model_name_in_plural new create update edit destroy index show

それらはすべてあなたのために作成されます

Rails 4の更新

Rails g scaffold_controller Property
132
Marcos Placona

Rails 3にはRails generate scaffold_controller ...。詳細 こちら

97
gdelfino

EDIT(いくつかのコメントによる):元の質問は2010年でした-したがって、答えはRails 4、ただし、Rails 2 !!

足場を使用してみてください。

script/generate scaffold controller Properties

Ruby on Rails)の公式ドキュメントのセクション

Rails scaffolding。でGoogle検索を行うと、より多くの情報を見つけることができると確信しています。

EDIT:For Rails 4

Rails g scaffold_controller Property

37
konung

Rails 4/5では、次のコマンドがトリックを行います。

Rails g scaffold_controller Property --skip-template-engine

ビューではなく、コントローラーアクションを生成しました。

13
pmargreff

レール5.1

出発点:

コントローラもビューもないモデルを作成しました(例:Rails generate model category

目的:

完全なRESTfulリソースにアップグレードする

コマンド:

Rails generate scaffold_controller category

足場コントローラ、その7つのRESTfulアクションおよび関連するビューをスタブ化します。 (注:モデル名CamelCasedまたはunder_scoredを渡すことができます。)

出力:

varus@septimusSrv16DEV4:~/railsapps/dblirish$ Rails generate scaffold_controller category
Running via Spring preloader in process 45681
      create  app/controllers/categories_controller.rb
      invoke  erb
      create    app/views/categories
      create    app/views/categories/index.html.erb
      create    app/views/categories/edit.html.erb
      create    app/views/categories/show.html.erb
      create    app/views/categories/new.html.erb
      create    app/views/categories/_form.html.erb
      invoke  test_unit
      create    test/controllers/categories_controller_test.rb
      invoke  helper
      create    app/helpers/categories_helper.rb
      invoke    test_unit
      invoke  jbuilder
      create    app/views/categories/index.json.jbuilder
      create    app/views/categories/show.json.jbuilder
      create    app/views/categories/_category.json.jbuilder
7
Varus Septimus

足場を探しています。

試してください:

script/generate scaffold Property

これにより、コントローラー、モデル、移行、および関連するテストが提供されます。オプション--skip-migrationを使用して移行をスキップできます。他の人が必要ない場合は、自分で削除する必要があります。 --forceを使用しない限り、既存のファイルを上書きする心配はありません。

Klewがコメントで指摘しているように、これは名前だけでなくbodyメソッドも定義します。 RESTコントローラーの開始点として使用すると非常に役立ちます。

7
molf

Rails 4ではRails g controller apps new create update edit destroy show index

または Rails generate controller apps new create update edit destroy show index完全な用語を書きたい場合:)。

5
Tom Hammond

script/generate rspec_scaffoldプロパティ

2
stephenmurdoch

1つの解決策は、1つのパラメーター(コントローラー名)を受け入れるスクリプトを作成し、スクリプトにコマンド全体を入力させることです。


  1. 新しいファイル、たとえばrailsgcontrollerを作成します
  2. 実行可能にし、パスに保存します
  3. 次のように実行します:$ railsgcontroller Articles

die () {
    echo "Please supply new Rails controller name to generate."
    echo >&2 "$@"
    exit 1
}

[ "$#" -eq 1 ] || die "1 argument required, $# provided"

Rails g controller "$1" new create update edit destroy show index
0
philippinedev

足場を使用しない限り、コントローラをスタブ化する方法はありません(私が知っていること?それは文書化されていますか?)。しかし、あなたはできる:

script/generate controller WhateverController new create edit update destroy show
0
rfunduk