Ruby on Rails
रेलें आज्ञा उत्पन्न करती हैं
खोज…
परिचय
उपयोग: rails generate GENERATOR_NAME [args] [options] ।
उपलब्ध जनरेटरों को सूचीबद्ध करने के लिए rails generate उपयोग करें। उपनाम: rails g ।
पैरामीटर
| पैरामीटर | विवरण |
|---|---|
-h / --help | किसी भी जनरेटर कमांड पर मदद लें |
-p / - --pretend | प्रिटेंड मोड: जेनरेटर चलाएं लेकिन किसी भी फाइल को बनाएंगे या बदलेंगे नहीं |
field:type | 'फ़ील्ड-नेम' उस कॉलम का नाम है जिसे बनाया जाना है और 'टाइप' कॉलम का डेटा-टाइप है। field:type में 'प्रकार' के लिए संभावित मान field:type रिमार्क्स अनुभाग में दिए गए हैं। |
टिप्पणियों
field:type में 'प्रकार' के लिए संभावित मान field:type हैं:
| डाटा प्रकार | विवरण |
|---|---|
:string | पाठ के छोटे टुकड़ों के लिए (आमतौर पर वर्ण की सीमा 255 होती है) |
:text | पाठ के लंबे टुकड़ों के लिए, एक पैराग्राफ की तरह |
:binary | छवियों, ऑडियो और वीडियो सहित डेटा संग्रहीत करना |
:boolean | सही या गलत मूल्यों को संग्रहीत करना |
:date | केवल तारीख |
:time | केवल समय |
:datetime | दिनांक और समय |
:float | परिशुद्धता के बिना भंडारण तैरता है |
:decimal | सटीक के साथ भंडारण तैरता है |
:integer | पूरे नंबर स्टोर करना |
मॉडल उत्पन्न करता है
एक ActiveRecord मॉडल बनाने के लिए जो आपके मॉडल के लिए सही db माइग्रेशन और बॉयलरप्लेट परीक्षण फ़ाइलों को स्वचालित रूप से बनाता है, यह कमांड दर्ज करें
rails generate model NAME column_name:column_type
'NAME' मॉडल का नाम है। 'फ़ील्ड' DB तालिका में स्तंभ का नाम है और 'प्रकार' स्तंभ प्रकार (जैसे name:string या body:text ) है। समर्थित स्तंभ प्रकारों की सूची के लिए रिमार्क्स अनुभाग देखें।
विदेशी कुंजियों को सेटअप करने के लिए, belongs_to:model_name जोड़ें।
तो कहते हैं कि आप एक User मॉडल को सेटअप करना चाहते थे, जिसमें username , email और एक School , आप निम्नलिखित में टाइप करेंगे
rails generate model User username:string email:string school:belongs_to
rails g rails generate लिए आशुलिपि है। यह एक ही परिणाम का उत्पादन होगा
rails g model User username:string email:string school:belongs_to
रेल उत्पन्न प्रवासन
आप निम्न कमांड का उपयोग करके टर्मिनल से रेल माइग्रेशन फ़ाइल उत्पन्न कर सकते हैं:
rails generate migration NAME [field[:type][:index] field[:type][:index]] [options]
कमांड द्वारा समर्थित सभी विकल्पों की एक सूची के लिए, आप कमांड को किसी भी तर्क के बिना चला सकते हैं जैसे rails generate migration ।
उदाहरण के लिए, यदि आप users तालिका में first_name और last_name फ़ील्ड जोड़ना चाहते हैं, तो आप ऐसा कर सकते हैं:
rails generate migration AddNamesToUsers last_name:string first_name:string
रेल निम्नलिखित माइग्रेशन फ़ाइल बनाएगी:
class AddNamesToUsers < ActiveRecord::Migration[5.0]
def change
add_column :users, :last_name, :string
add_column :users, :first_name, :string
end
end
अब टर्मिनल में निम्नलिखित रन करके डेटाबेस के लिए लंबित माइग्रेशन लागू करें:
rake db:migrate
rails db:migrate
नोट: और भी कम टाइपिंग के लिए, आप
generateकोgसाथ बदल सकते हैं।
रेल उत्पन्न पाड़
अस्वीकरण : मचान की सिफारिश नहीं की जाती है जब तक कि यह बहुत पारंपरिक CRUD एप्लिकेशन / परीक्षण के लिए न हो। यह बहुत सारी फाइलें (विचार / मॉडल / नियंत्रक) उत्पन्न कर सकता है जिनकी आपके वेब एप्लिकेशन में आवश्यकता नहीं है, इस प्रकार सिरदर्द (खराब :() हो सकता है।
मॉडल, नियंत्रक, विचार, संपत्ति और परीक्षण सहित एक नई वस्तु के लिए पूरी तरह से काम करने वाला पाड़ उत्पन्न करने के लिए, rails g scaffold कमान का उपयोग करें।
$ rails g scaffold Widget name:string price:decimal
invoke active_record
create db/migrate/20160722171221_create_widgets.rb
create app/models/widget.rb
invoke test_unit
create test/models/widget_test.rb
create test/fixtures/widgets.yml
invoke resource_route
route resources :widgets
invoke scaffold_controller
create app/controllers/widgets_controller.rb
invoke erb
create app/views/widgets
create app/views/widgets/index.html.erb
create app/views/widgets/edit.html.erb
create app/views/widgets/show.html.erb
create app/views/widgets/new.html.erb
create app/views/widgets/_form.html.erb
invoke test_unit
create test/controllers/widgets_controller_test.rb
invoke helper
create app/helpers/widgets_helper.rb
invoke jbuilder
create app/views/widgets/index.json.jbuilder
create app/views/widgets/show.json.jbuilder
invoke assets
invoke javascript
create app/assets/javascripts/widgets.js
invoke scss
create app/assets/stylesheets/widgets.scss
फिर आप rake db:migrate चला सकते हैं rake db:migrate डेटाबेस टेबल सेट rake db:migrate लिए rake db:migrate करें।
फिर आप http: // localhost: 3000 / विगेट्स पर जा सकते हैं और आपको एक पूरी तरह कार्यात्मक CRUD पाड़ दिखाई देगा।
रेल उत्पन्न नियंत्रक
हम rails g controller कमांड के साथ एक नया नियंत्रक बना सकते हैं।
$ bin/rails generate controller controller_name
नियंत्रक जनरेटर generate controller ControllerName action1 action2 के रूप में मापदंडों की उम्मीद कर रहा है।
निम्नलिखित नमस्ते की एक क्रिया के साथ अभिवादन नियंत्रक बनाता है।
$ bin/rails generate controller Greetings hello
आप निम्न आउटपुट देखेंगे
create app/controllers/greetings_controller.rb
route get "greetings/hello"
invoke erb
create app/views/greetings
create app/views/greetings/hello.html.erb
invoke test_unit
create test/controllers/greetings_controller_test.rb
invoke helper
create app/helpers/greetings_helper.rb
invoke assets
invoke coffee
create app/assets/javascripts/greetings.coffee
invoke scss
create app/assets/stylesheets/greetings.scss
यह निम्नलिखित उत्पन्न करता है
| फ़ाइल | उदाहरण |
|---|---|
| नियंत्रक फ़ाइल | greetings_controller.rb |
| फाइल देखें | hello.html.erb |
| कार्यात्मक परीक्षण फ़ाइल | greetings_controller_test.rb |
| हेल्पर देखें | greetings_helper.rb |
| जावास्क्रिप्ट फ़ाइल | greetings.coffee |
यह भी में प्रत्येक कार्य के लिए मार्गों जोड़ देगा routes.rb