Przeczytałem pomoc i wypróbowałem następujące polecenie, aby pominąć generowanie testów, zasobów i plików pomocniczych
$ 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]
Jak możesz zauważyć na podstawie wyników powyżej, to działa i tylko controller, routes
i views
są generowane. Ale ostatnie dwie linijki są interesujące:
error false [not found]
error false [not found]
Oczywiście railsy nie lubią --option-name false
składni. więc ten błąd bo użyłem złej składni? Jeśli tak, to jaki jest właściwy sposób? Dzięki
ruby-on-rails
ruby-on-rails-3
generator
CuriousMind
źródło
źródło
skip
zamiastno
, np.--skip-assets
Aby wyłączyć bez konieczności dodawania opcji:
# application.rb config.generators.assets = false config.generators.helper = false
źródło
Wnioski, które służą jedynie API nie będą wymagać
javascript
,stylesheet
,views
,helpers
. Aby pominąć te pliki w generatorze / rusztowaniu w celuRails 3.x
dodania poniższego bloku kodu wapplication.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
sprawdź link, aby uzyskać więcej informacji o generatorach
źródło
false
zamiastnil
.Bardziej zwięźle:
źródło
Wewnątrz pliku application.rb zapis: Spowoduje to zatrzymanie generowania wszystkiego oprócz tego, co jest napisane w wierszu poleceń
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
Przykład:
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
dla jednego rozwiązania liniowego =>
źródło
Jeśli chcesz wygenerować tylko kontroler, nic więcej.
źródło