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