মডেলটি ইতিমধ্যে বিদ্যমান থাকলে কীভাবে `রেলগুলি স্ক্যাফোল্ড জেনারেট করে?


331

আমি রেলগুলিতে নতুন তাই আমার বর্তমান প্রকল্পটি অদ্ভুত অবস্থায় রয়েছে।

আমি যে প্রথম জিনিসটি তৈরি করেছি তার একটি হ'ল "চলচ্চিত্র" মডেল। আমি তখন আরও বিশদ দিয়ে এটি সংজ্ঞা দেওয়া শুরু করেছি, কয়েকটি পদ্ধতি ইত্যাদি যুক্ত করেছি,

আমি এখন বুঝতে পারি rails generate scaffoldযে রাউটিং, ভিউ, কন্ট্রোলার ইত্যাদির মতো জিনিসগুলি হুক করার জন্য আমার এটি তৈরি করা উচিত ছিল

আমি ভারাটি উত্পন্ন করার চেষ্টা করেছি তবে একই নামের একটি স্থানান্তর ফাইল ইতিমধ্যে বিদ্যমান বলে আমি ত্রুটি পেয়েছি।

আমার "মুভি" এর জন্য এখন ভাসিয়ে তৈরি করার সর্বোত্তম উপায় কী? (রেল 3 ব্যবহার করে)


1
আপনার নিজের নিয়ন্ত্রক এবং দর্শন এবং রুটগুলি লিখতে সম্ভবত সেরা। আপনি ধারণাগুলি সম্পর্কে আরও শিখতে পারবেন
বেন

1
@ Penne12 এর সাথে সম্মত হন। কমপক্ষে শুরুতে, যতক্ষণ না আপনি ধারণাগুলি সম্পর্কে স্বাচ্ছন্দ্য বোধ করেন, যাতে আপনি জানতে পারেন যে সমস্ত কোড আপনার জন্য উত্পন্ন হয়েছে।
mydoghasworms

সরাসরি প্রাসঙ্গিক নয় তবে যদি আপনি কখনও জগাখিচু হন তবে রেলগুলি <etc> ধ্বংস করে। আমার মনে আছে আমি যখন শুরু করেছি তখন এটি সত্যিই কার্যকর ছিল।
হেলসিং

1
@ বেনউবিন, সত্য হলেও, রেলের সৌন্দর্য অব্যাহতভাবে বয়লারপ্লেট লিখতে হবে না।
রোমুলাক্স

উত্তর:


596

টিএল; ডিআর :rails g scaffold_controller <name>

আপনার ইতিমধ্যে একটি মডেল থাকা সত্ত্বেও, আপনি rails generateবিকল্পটি ব্যবহার করে প্রয়োজনীয় কন্ট্রোলার এবং মাইগ্রেশন ফাইলগুলি তৈরি করতে পারেন । আপনি যদি চালনা করেন তবে rails generate -hআপনার কাছে উপলভ্য সমস্ত অপশন দেখতে পাবেন।

Rails:
  controller
  generator
  helper
  integration_test
  mailer
  migration
  model
  observer
  performance_test
  plugin
  resource
  scaffold
  scaffold_controller
  session_migration
  stylesheets

আপনি যদি আপনার মডেলের জন্য একটি নিয়ামক স্ক্যাফোল্ড তৈরি করতে চান তবে দেখুন scaffold_controller। কেবল স্পষ্টতার জন্য, এখানে এর বিবরণটি এখানে:

স্ট্যাফোডোল্ড কন্ট্রোলার এবং এর দৃষ্টিভঙ্গিগুলি খুঁজে বের করে। মডেল নামটি হয় ক্যামেলকেসড বা আন্ডার_স্কোরড, এবং আর্গুমেন্ট হিসাবে দর্শনগুলির তালিকা পাস করুন। নিয়ামকের নামটি মডেল নামের বহুবচন সংস্করণ হিসাবে পুনরুদ্ধার করা হয়েছে।

মডিউলটির মধ্যে একটি নিয়ামক তৈরি করতে, মডেলটির নামটিকে 'প্যারেন্ট_মডিউল / নিয়ামক_নাম' এর মতো পথ হিসাবে নির্দিষ্ট করুন।

এটি অ্যাপ্লিকেশন / নিয়ন্ত্রণকারীগুলিতে একটি নিয়ামক শ্রেণি উত্পন্ন করে এবং সহায়ক, টেম্পলেট ইঞ্জিন এবং পরীক্ষামূলক কাঠামোর জেনারেটরগুলি আহ্বান করে।

আপনার সংস্থান তৈরি করতে, আপনি resourceজেনারেটরটি ব্যবহার করতে এবং মাইগ্রেশন তৈরি করতে, আপনি migrationজেনারেটরটিও দেখতে পাবেন (দেখুন, এই পাগলের সমস্ত ক্ষেত্রে একটি নমুনা রয়েছে)। এইগুলি একটি উত্স তৈরির জন্য অনুপস্থিত ফাইলগুলি তৈরি করতে বিকল্প সরবরাহ করে। বিকল্পভাবে আপনি rails generate scaffoldযে --skipকোনও ফাইল উপস্থিত রয়েছে তা এড়িয়ে যাওয়ার অপশনটি দিয়ে চালাতে পারেন :)

আমি জেনারেটরের অভ্যন্তরের বিকল্পগুলি দেখে কিছুটা সময় ব্যয় করার পরামর্শ দিচ্ছি। এগুলি এমন কিছু যা আমি মনে করি না বইগুলিতে এবং এ জাতীয়ভাবে খুব ভালভাবে নথিভুক্ত করা হয় তবে সেগুলি খুব সহজ।


12
বাহ, আমি একটি প্রোগ্রামিং প্রশ্নে যে উত্তম উত্তর পেয়েছি তার মধ্যে একটি। ধন্যবাদ!
ল্যান

12
আমার কাছে বিদ্যমান মডেল রয়েছে এবং rails generate scaffold_controller MyModelকরায় ভিউ স্তরটি উত্পন্ন হয় তবে এতে মডেলের বৈশিষ্ট্যগুলি (টেবিল কলাম) অন্তর্ভুক্ত নয় এবং আপনাকে সেগুলি হাতে যুক্ত করতে হবে। এই জন্য একটি স্থির কেউ জানেন? আমি কারাগারে রয়েছি ৩.২.৮।
অ্যারোনবারটেল

@ অ্যারোনবারটেল আপনি রেলদের একটি 'স্ক্যাফোড_কন্ট্রোলার' তৈরি করতে বলছেন যা মডেল বৈশিষ্ট্যগুলির জন্য যত্ন করে না। এটি ভাঙা হয়নি, আপনি যদি একটি মডেলও উত্পন্ন করতে চান তবে আপনি চান generate scaffoldযদি আপনার একটি মডেল থাকে তবে আপনি চান একটি স্ক্যাফোল্ড কন্ট্রোলার এবং একটি নতুন মডেল যুক্ত করুন যা আপনি চান এমন ক্ষেত্রগুলির সাথে scaffold_generatorঅনুসরণ করতে চানmigration
লি জার্ভিস

9
@ লি - কোন অ্যারোনবার্টেল জিজ্ঞাসা করছে না যে স্ক্যাফোল্ড_কন্ট্রোলার কীভাবে সেই মডেলটির কাছে উপস্থিত বিশেষ বৈশিষ্ট্যগুলির জন্য সম্পর্কিত ভিউ ইনপুট তৈরি করতে পারে না, যা একটি বৈধ প্রশ্ন ... stackoverflow.com/q/17153864/165673
ইয়ারিন

67

দুর্দান্ত উত্তর Lee Jarvis, এটি কেবল আদেশ যেমন; আমাদের ইতিমধ্যে ব্যবহারকারী নামে একটি বিদ্যমান মডেল রয়েছে:

rails g scaffold_controller User

10
ধন্যবাদ, আমরা যারা পাঠ্যের অনুচ্ছেদগুলি পড়তে খুব অলস তাদের জন্য ধন্যবাদ!
ক্রিস সাইরেফাইস

30

বিদ্যমান ডাটাবেসগুলির সাথে রেল অ্যাপ্লিকেশন শুরু করার জন্য একটি মজাদার schema_to_scaffoldস্ক্রিপ্ট স্ক্রিপ্ট তৈরি করার জন্য একটি দুর্দান্ত রত্ন রয়েছে । এটি ফলাফল:

rails g scaffold users fname:string lname:string bdate:date email:string encrypted_password:string

আপনার schema.rbআমাদের নাম পরিবর্তন করে schema.rb. এটি পরীক্ষা করে দেখুন


2
এটি একটি দুর্দান্ত লিটল মণি, এটি আমাকে অনেক সাহায্য করবে! রেলগুলি অন্তর্নির্মিত করা উচিত!
পিটার অ্যান্ডারসন

13

ইন পাগল 5 , আপনি কি এখনও চালাতে পারেন

$rails generate scaffold movie --skip

সমস্ত অনুপস্থিত স্ক্যাফোল্ড ফাইল বা তৈরি করতে

rails generate scaffold_controller Movie

নিয়ামক তৈরি করতে এবং কেবল দেখতে।

আরও ভাল ব্যাখ্যার জন্য রেল স্ক্যাফল্ড পরীক্ষা করে দেখুন



10

আপনি মডেলটি scaffold_controllerপাস করার জন্য ব্যবহার করতে পারেন এবং মনে রাখতে পারেন attributes, বা গুণাবলী ছাড়াই স্ক্যাফোল্ড তৈরি করা হবে।

rails g scaffold_controller User name email
# or
rails g scaffold_controller User name:string email:string

এই কমান্ডটি নিম্নলিখিত ফাইলগুলি তৈরি করবে:

create  app/controllers/users_controller.rb
invoke  haml
create    app/views/users
create    app/views/users/index.html.haml
create    app/views/users/edit.html.haml
create    app/views/users/show.html.haml
create    app/views/users/new.html.haml
create    app/views/users/_form.html.haml
invoke  test_unit
create    test/controllers/users_controller_test.rb
invoke  helper
create    app/helpers/users_helper.rb
invoke    test_unit
invoke  jbuilder
create    app/views/users/index.json.jbuilder
create    app/views/users/show.json.jbuilder
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.