2011-11-13 6 views
36

मैंने एक प्रोजेक्ट प्राप्त किया है जिसमें नियंत्रक (केवल न्यूनतम कोड) और मॉडल हैं, लेकिन विचार गुम हैं। क्या केवल मचान या किसी अन्य उपकरण का उपयोग करके विचार उत्पन्न करने का कोई तरीका है?नियंत्रकों और मॉडलों के निर्माण के बाद रेल दृश्यों (केवल) पर रूबी बनाएं

उत्तर

75
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 
+1

नोट: यदि आप गुण आप उन्हें अपने मॉडल, उदा, उपयोगकर्ता नाम के बाद शामिल करने की ज़रूरत है करने के लिए जनरेट किए गए दृश्यों हैं: स्ट्रिंग ईमेल: स्ट्रिंग आदि – skalb

+0

क्या --migration = false 'क्या करता है? –

+1

@ केविन झोउ ... माइग्रेशन उत्पन्न नहीं करता है। –

2

"एक अन्य उपकरण" ...

कैसे "script/generate view_for model_name" ऐसा करने में सक्षम होने के बारे में? :)

उस के लिए एक मणि है - View Mapper। इसमें रेल 2 और 3 संस्करणों पर रूबी है।

+1

, वर्ष पुरानी हो चुकी <3 – bbozo

+2

हाँ कि 2011 से, अब 4 साल का था। –

1

एक छोटी सी टिप "--no-test-framework" Rspec का उपयोग कर और है कल्पना में प्रत्येक दृश्य के लिए उत्पन्न परीक्षण फ़ाइलें नहीं चाहते हैं/दृश्यों

2

मैं सिर्फ एक ही अपनी समस्या का सामना जोड़ना है। मैंने यह किया। अधिक जानकारी नीचे दी गई है:
- सबसे पहले मैं विचार/your_model फ़ोल्डर को/your_model_bak पर नाम बदलता हूं। आदेश वापस लौटने के लिए में अगर असफल बाद में
- फिर, आदेश पर अमल

rails g scaffold YourModel [field[:type][:index]] --skip 
  • --skip विकल्प मत भूलना, यह फ़ाइलों (इस मामले में नियंत्रक और मॉडल और कुछ अन्य फ़ाइलें) मौजूद नहीं बनाएगा
  • यकीन है कि सूची बनाएँ [क्षेत्र [: प्रकार] [: सूचकांक]] तारीख

पर निर्भर है - अंत में, आप your_model नियंत्रक में अपने परमिट अद्यतन करना चाहिए।

आशा है कि यह आपकी मदद कर सके।

-1

नियंत्रक और मॉडल के बाद विचार उत्पन्न करने के लिए पहले से ही बनाए गए हैं, तो आप कमांड लाइन का उपयोग कर सकते हैं। आप उस फ़ोल्डर में स्विच करते हैं जिसमें आप नया दृश्य बनाना चाहते हैं। , तो आप ऐसा

rails g erb:scaffold User 

erb templating इंजन है: उदाहरण के लिए:

$ cd name_app/app/views/controller_name 
$ touch name_file 

एक निर्देशिका उपयोग की वापस जाने के लिए:

$ cd .. 
+1

...? या सिर्फ एक संपादक में फ़ाइल बनाएँ। मैं नहीं देखता कि यह विशेष रूप से हेल्पफ़ाइल कैसे है, यह मूल रूप से "फ़ाइल बनाकर फ़ाइल बनाएं" कह रहा है, और यह सभी संबंधित रेल-आईएसएच फाइलें नहीं बनाता है, जो भी आपने कमांड लाइन पर बनाया है। –

12

यह वही पाड़ जनरेटर आंतरिक रूप से कहता है haml:scaffold का भी उपयोग कर सकते हैं।

आपको उन क्षेत्रों को स्पष्ट रूप से निर्दिष्ट करना होगा जिन्हें आप मचान करना चाहते हैं - रेल स्वचालित रूप से बनाए गए मॉडल से उन्हें कम नहीं करते हैं।उदाहरण के लिए:

rails g erb:scaffold User firstname lastname reputation 

मचान पैदा करने के लिए विशेष जानकारी के लिए generate scaffold --help लंघन जैसे विकल्प, मजबूर कर ओवरराइटिंग, और सूखी रन या के लिए rails g --help देखें।

+1

मुझे लगता है कि यह वास्तव में सही जवाब है। अन्य सभी विकल्प जो भी गायब हैं उत्पन्न करेंगे। यह केवल विचारों को उत्पन्न करता है। धन्यवाद :) –

संबंधित मुद्दे