सिंटैक्स परीक्षण, संपत्ति और 'रेल उत्पन्न नियंत्रक' के लिए सहायकों को छोड़ करने के लिए?


84

मैंने परीक्षण, संपत्ति और सहायक फ़ाइलों की पीढ़ी को छोड़ने के लिए सहायता और निम्न आदेश की कोशिश की

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

जाहिर है कि --option-name falseवाक्यविन्यास की तरह रेल नहीं लगती है । इसलिए यह त्रुटि है क्योंकि मैंने गलत सिंटैक्स का उपयोग किया है? यदि हाँ, तो सही तरीका क्या है? धन्यवाद

जवाबों:


165

निम्नलिखित का उपयोग --no-करके देखें optionname:

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

यदि आप हर बार जनरेटर कमांड को चलाने के लिए डिफ़ॉल्ट व्यवहार को बदलना चाहते हैं, तो आप उन डिफ़ॉल्ट को कॉन्फ़िगर कर सकते हैं जो आप application.rb फ़ाइल में चाहते हैं - देखें मैं कैसे सुनिश्चित कर सकता हूं कि रेल दृश्य और सहायकों के लिए विशेष परीक्षण उत्पन्न नहीं करता है?


4
आप skipइसके बजाय का उपयोग भी कर सकते हैं no, जैसे--skip-assets
डेनिस

76

विकल्प जोड़ने के बिना बंद करने के लिए:

# 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
यह काम करता है लेकिन आपको झूठ का उपयोग करते समय रेल 6 के रूप में एक पदावनति की चेतावनी प्राप्त होगी, इसलिए यह शून्य का उपयोग करना बेहतर है।
गीनो


1

इनसाइड एप्लीकेशन.आरबी फाइल राइट: यह कमांड लाइन में जो लिखा गया है, उसके अलावा सब कुछ जनरेट करना बंद कर देगा

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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.