コントローラー(最小コードのみ)とモデルを持つプロジェクトを取得しましたが、ビューがありません。 scaffoldまたは他のツールのみを使用してビューを生成する方法はありますか?
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
これはscaffoldジェネレーターが内部的に呼び出すものです:
Rails g erb:scaffold User
erb
は使用されるテンプレートエンジンです。したがって、haml:scaffold
。
足場が使用するフィールドを明示的に指定する必要があります。Railsは、作成したモデルから自動的に推測しますnot。例えば:
Rails g erb:scaffold User firstname lastname reputation
見る Rails g --help
スキップ、強制上書き、ドライランなどのオプションまたはgenerate scaffold --help
足場の生成に固有の情報。
「別のツール」...
「script/generate view_for model_name
"?:)
そのための宝石があります- View Mapper 。 Ruby on Rails 2および3バージョン。
同じ問題が発生しました。やったよ。詳細は次のとおりです。
-最初に、views/your_modelフォルダーの名前をviews/your_model_bakに変更します。後で失敗したら元に戻すために
-次に、コマンドを実行します
Rails g scaffold YourModel [field[:type][:index]] --skip
-最後に、your_modelコントローラーで許可を更新する必要があります。
それがあなたを助けることを願っています。
小さなヒントの1つは、「--no-test-framework
"Rspecを使用し、spec/viewsの各ビューに対してテストファイルを生成したくない場合