"Raylar oluşturucu denetleyici" için testler, varlıklar ve yardımcılar oluşturmayı atlamak için sözdizimi?


85

Yardımı okudum ve testlerin, varlıkların ve yardımcı dosyaların oluşturulmasını atlamak için aşağıdaki komutu denedim

$ bin/rails generate controller home index  --helper false --assets false --controller-specs false --view-specs false   
create- app/controllers/home_controller.rb
        route  get "home/index"
        invoke  erb
        create    app/views/home
        create    app/views/home/index.html.erb
        invoke  rspec
        error  false [not found]
        error  false [not found]

Yukarıdaki çıktıdan fark edebileceğiniz gibi, bu çalışır ve yalnızca controller, routes& viewsüretilir. Ancak son iki satır ilginç olduğu için:

error  false [not found]
error  false [not found]

Açıkçası, raylar --option-name falsesözdizimini sevmiyor gibi görünüyor . yanlış sözdizimi kullandığım için bu hata? Evetse, doğru yol nedir? Teşekkürler

Yanıtlar:


166

--no-Ardından şunu kullanmayı deneyin optionname:

rails generate controller home index  --no-helper --no-assets --no-controller-specs --no-view-specs

Jeneratör komutunu her çalıştırdığınızda varsayılan davranışı değiştirmek istiyorsanız, application.rb dosyasında istediğiniz varsayılanları yapılandırabilirsiniz - bkz. Rails'in görünümler ve yardımcılar için özellik testleri oluşturmadığından nasıl emin olabilirim? .


4
Bunun skipyerine kullanabilirsiniz no, örneğin--skip-assets
Dennis

77

Seçenek eklemeye gerek kalmadan kapatmak için:

# application.rb
config.generators.assets = false
config.generators.helper = false

48

Gerektirmeyen tek bir API hizmet uygulamaları javascript, stylesheet, views, helpers. Oluşturucu / iskelede bu dosyaları atlamak Rails 3.xiçin aşağıdaki kod bloğunuapplication.rb

#to skip assets, scaffolds.css, test framework, helpers, view
config.generators do |g|
  g.template_engine nil #to skip views
  g.test_framework  nil #to skip test framework
  g.assets  false
  g.helper false
  g.stylesheets false
end

jeneratörler hakkında daha fazla ayrıntı için bağlantıyı kontrol edin


1
Bunun falseyerine kullanırsanız yukarıdakiler çalışır nil.
bigtex777

1
Çalışır, ancak yanlış kullanırken Rails 6'dan itibaren bir kullanımdan kaldırma uyarısı alacaksınız, bu nedenle sıfır kullanmak daha iyidir.
Gino

27

Daha kısaca:

rails g controller home index --no-assets --no-test-framework

1

Application.rb dosyasında yazma: Bu, komut satırında yazılanlar dışında her şeyi oluşturmayı durduracaktır.

config.generators do |g|
  g.test_framework nil
  g.template_engine nil
  g.asstes false
  g.helper false
  g.stylesheets false
  g.javascripts false
end

Misal:

vidur@vidur-desktop:~/Downloads/tukaweb$ rails g controller uploader/three_d_models 
Running via Spring preloader in process 3703
      create  app/controllers/uploader/three_d_models_controller.rb
      invoke  assets
      invoke    js
      invoke    scss

tek astarlı çözüm için =>

rails g controller assets_garments --skip-test-framework --skip-assets --skip-helper

0

Yalnızca denetleyici oluşturmak istiyorsanız, başka bir şey yok.

rails g controller [controller_name] [index] --no-helper --no-assets --no-template-engine --no-test-framework
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.