'rails generate controller'에 대한 테스트, 자산 및 도우미 생성을 건너 뛰는 구문?


85

도움말을 읽고 테스트, 자산 및 도우미 파일 생성을 건너 뛰기 위해 다음 명령을 시도했습니다.

$ 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]

이 &에만 작동 위의 당신은 출력에 의해 알 수있는 바와 같이 controller, routes& views생성됩니다. 그러나 마지막 두 줄이 흥미 롭습니다.

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

분명히 rails는 --option-name false구문 을 좋아하지 않는 것 같습니다 . 그래서이 오류는 잘못된 구문을 사용했기 때문입니까? 그렇다면 올바른 방법은 무엇입니까? 감사

답변:


166

--no-다음을 사용해보십시오 optionname:

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

제너레이터 명령을 실행할 때마다 기본 동작을 변경하려면 application.rb 파일에서 원하는 기본값을 구성 할 수 있습니다. Rails가 뷰 및 도우미에 대한 사양 테스트를 생성하지 않도록 하려면 어떻게해야합니까?를 참조하십시오. .


4
skip대신 사용할 수도 있습니다 no. 예--skip-assets
Dennis

77

옵션을 추가하지 않고 끄려면 :

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

48

필요하지에만 API를 제공 응용 프로그램 javascript, stylesheet, views, helpers. 생성기 / 스캐 폴드에서 해당 파일을 건너 뛰려면 Rails 3.x아래 코드 블록을application.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

발전기에 대한 자세한 내용은 링크를 확인하십시오.


1
false의 방법은 nil.
bigtex777

1
작동하지만 false를 사용할 때 Rails 6부터 사용 중단 경고가 표시되므로 nil을 사용하는 것이 좋습니다.
Gino


1

내부 application.rb 파일 쓰기 : 명령 줄에 쓰여진 내용을 제외한 모든 생성이 중지됩니다.

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

예:

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

하나의 라이너 솔루션 =>

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

0

컨트롤러 만 생성하려면 다른 것은 없습니다.

rails g controller [controller_name] [index] --no-helper --no-assets --no-template-engine --no-test-framework
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.