2011-11-13 10 views

答えて

75
rails g scaffold User --migration=false --skip 

--skipは、すでに存在するファイルをスキップすることを意味します。 (反対は--forceです)

もしあなたがヘルパーを望まないなら、--helpers=false。私Userビューを削除した後

出力例:

 invoke active_record 
    identical app/models/user.rb 
     invoke test_unit 
    identical  test/unit/user_test.rb 
     skip  test/fixtures/users.yml 
     route resources :users 
     invoke scaffold_controller 
    identical app/controllers/users_controller.rb 
     invoke erb 
     exist  app/views/users 
     create  app/views/users/index.html.erb 
     create  app/views/users/edit.html.erb 
     create  app/views/users/show.html.erb 
     create  app/views/users/new.html.erb 
     create  app/views/users/_form.html.erb 
     invoke test_unit 
    identical  test/functional/users_controller_test.rb 
     invoke helper 
    identical  app/helpers/users_helper.rb 
     invoke  test_unit 
    identical  test/unit/helpers/users_helper_test.rb 
     invoke assets 
     invoke coffee 
    identical  app/assets/javascripts/users.js.coffee 
     invoke scss 
    identical  app/assets/stylesheets/users.css.scss 
     invoke scss 
    identical app/assets/stylesheets/scaffolds.css.scss 
+1

注:あなたがあなたのモデル例えばユーザー名の後にそれらを含める必要がある属性を持つように生成されたビューをしたい場合:文字列メール:文字列など – skalb

+0

「を--migration = false」に何をしますか? –

+1

@KevinZhao ...移行は生成されません。 –

2

"もう1つのツール" ...

方法 "script/generate view_for model_name" を行うことができることは? :)

これには宝石があります。View Mapperです。 Ruby on Rails 2と3のバージョンがあります。

+1

時代遅れ、古い<3 – bbozo

+2

ええそれは2011から、今4歳でした。 –

1

一つの小さなチップはRSpecのを使用してテストファイルは、私はちょうど同じ問題が発生したスペック/ビュー

2

に各ビューのために生成したくない場合は、「--no-test-framework」を追加することです。やったよ。詳細は以下の通りです:
- まずview/your_modelフォルダの名前をviews/your_model_bakに変更します。元に戻すために失敗した場合、後で
- 次に、コマンド実行

rails g scaffold YourModel [field[:type][:index]] --skip 
  • 、それがファイル(この場合は、コントローラとモデルや他のいくつかのファイル)が存在し作成しません--skipオプションを忘れてはいけません
  • 必ずリストしてください[フィールド[:タイプ]は[:インデックス]]日付

までです - 最後に、あなたがyour_modelコントローラで、あなたの許可証を更新する必要があります。

お手数ですがお手伝いします。

-1

コントローラとモデルが作成された後にビューを生成するには、コマンドラインを使用します。新しいビューを作成するフォルダに切り替えます。たとえば、次のように

$ cd name_app/app/views/controller_name 
$ touch name_file 

バック1つのディレクトリ使用の移動先:

$ cd .. 
+1

...?または、ファイルをエディタで作成するだけです。私はそれが基本的に「ファイルを作成することにより、ファイルを作成します」と言っています、そしてそれは、関連するすべてのRailsっぽいファイル、コマンドラインで作成されただけでどちらか1を作成しません、これは特にヘルプファイルがどのように表示されません。 –

12

これは、足場ジェネレータは内部で呼ぶものです:

rails g erb:scaffold User 

erbは使用テンプレートエンジンであるので、あなたhaml:scaffoldも使用できます。

スカイフォールディングを使用するフィールドを明示的に指定する必要があります。レールはではありません。は自動的に作成されたモデルから推定します。たとえば:

rails g erb:scaffold User firstname lastname reputation 

はスキップのようなオプション、強制的に上書きし、ドライランや足場を生成する具体的な情報についてgenerate scaffold --helpためrails g --helpを参照してください。

+1

私はこれが正しい答えであるように感じます。他のすべてのオプションは、欠けているものを生成します。これはビューを生成するだけです。ありがとうございました :) –

関連する問題