রেল অন রুবেল মডেল ক্ষেত্র উত্পন্ন করে: প্রকার - ক্ষেত্রের জন্য কী কী বিকল্প রয়েছে: প্রকার?


308

আমি একটি নতুন মডেল তৈরি করার চেষ্টা করছি এবং অন্য মডেলের আইডি উল্লেখ করার জন্য বাক্য গঠনটি ভুলে যাচ্ছি। আমি এটি নিজেই সন্ধান করব, তবে আমার সমস্ত রুবি অন রেল ডকুমেন্টেশনের লিঙ্কগুলির মধ্যে, কীভাবে নিশ্চিত উত্স খুঁজে পেতে হবে তা খুঁজে পাইনি।

$ rails g model Item name:string description:text(এবং এখানে হয় reference:productবা হয় references:product)। তবে আরও ভাল প্রশ্ন হ'ল আমি কোথায় বা কীভাবে ভবিষ্যতে সহজেই এই ধরণের নির্বিকার সন্ধান করতে পারি?

দ্রষ্টব্য: আমি কঠোরভাবে শিখেছি যে আমি যদি এই বিকল্পগুলির মধ্যে একটিকে ভুল টাইপ করি এবং আমার স্থানান্তর চালনা করি তবে রুবেল অন রেলগুলি আমার ডেটাবেসটিকে পুরোপুরি স্ক্রু করবে ... এবং rake db:rollbackএই জাতীয় স্ক্রুআপগুলির বিরুদ্ধে শক্তিহীন। আমি নিশ্চিত যে আমি কেবল কিছু বুঝতে পারছি না, তবে আমি না করা পর্যন্ত ... "বিশদ" তথ্য rails g modelআমাকে ফিরিয়ে দিয়েছে ...


কী সম্পর্কে: ইউনিক এবং: সূচক ক্ষেত্রের বিকল্পগুলি? "রেলস জি মডেলের শিরোনামের মতো বডি: পাঠ্য ট্র্যাকিং_আইডি: পূর্ণসংখ্যা: ইউনিক" এর মতো। আমি তাদের জন্য নথিপত্র খুঁজে পাইনি। আর কি আছে?
কঙ্গুর

11
rails generate model --help
ডেনিস

1
একটি সংস্করণ নিয়ন্ত্রণ ব্যবহার আপনাকে যে কোনও উত্পন্ন ফাইল রোলব্যাক করার সহজ উপায় সরবরাহ করবে। এবং যদি সমস্যাটি ডাটাবেসে থাকে ... ভাল, আপনি সর্বদা ডিবি করতে পারেন: স্কিমা: লোড
হেক্টর আরডোনজ

1
ভাল এটি 140k বার দেখা হয়েছে এবং আজকের হিসাবে 243 জন এটি দরকারী বলে মনে হয়েছে এটি কোনও উপায় দ্বারা নির্বোধ প্রশ্ন নয় :)
বিকেএসপুরজন

উত্তর:


475
:primary_key, :string, :text, :integer, :float, :decimal, :datetime, :timestamp,
:time, :date, :binary, :boolean, :references

দেখুন টেবিল সংজ্ঞা অধ্যায়।


13
হুম ... আপনার উত্তরের বা উল্লেখের কোনও উল্লেখ নেই :referenceবা আপনার প্রদত্ত লিঙ্কটিতে জেনারেটরগুলির কাছে এটি কীভাবে পৌঁছে দেওয়া যায় তার কোনও ব্যাখ্যা নেই?!?! :references
মেলতেমি

53
এটি প্রশ্নের কোনও উত্তর দেয় না।
মাইকেল

1
এটি উত্তর হিসাবে বাছাই করে নিন তবে জেনে রাখুন : তথ্যসূত্রগুলিও একটি বিকল্প।
মেলতেমি

14
এমন কিছু ডকুমেন্টেশন রয়েছে যা এই কলামের প্রকারগুলি সংজ্ঞায়িত করে? উদাহরণস্বরূপ, কিভাবে stringপৃথক হয় text?
অনুদান বার্চমিয়ার

3
কংগুর uniqএবং indexপ্রত্যয়গুলি (এবং সমস্ত ধরণের) এর ব্যবহারে নথিভুক্ত রয়েছে rails generate model। চালান rails g modelব্যবহার ডক্স দেখতে।
ডেনিস 18

188

অন্যটি উল্লেখ করে এমন একটি মডেল তৈরি করতে, রেল অন রেলস মডেল জেনারেটরটি ব্যবহার করুন:

$ rails g model wheel car:references

এটি অ্যাপ / মডেল / হুইল.আরবি উত্পাদন করে :

class Wheel < ActiveRecord::Base
  belongs_to :car
end

এবং নিম্নলিখিত মাইগ্রেশন যুক্ত করে:

class CreateWheels < ActiveRecord::Migration
  def self.up
    create_table :wheels do |t|
      t.references :car

      t.timestamps
    end
  end

  def self.down
    drop_table :wheels
  end
end

আপনি যখন মাইগ্রেশন চালান, নিম্নলিখিতটি আপনার ডিবি / স্কিমা.আরবিতে শেষ হবে :

$ rake db:migrate

create_table "wheels", :force => true do |t|
  t.integer  "car_id"
  t.datetime "created_at"
  t.datetime "updated_at"
end

ডকুমেন্টেশন হিসাবে, রেল জেনারেটরগুলির জন্য একটি প্রাথমিক পয়েন্ট হ'ল রুবেল অন রেলস: দ্য রেল কমান্ড লাইনের একটি গাইড যা উপলব্ধ ক্ষেত্রের প্রকার সম্পর্কে আরও জানতে আপনাকে পিপিআই ডকুমেন্টেশনের দিকে নির্দেশ করে


4
সামান্য মন্তব্য সহ তারিখ সীমার বাইরে, কিন্তু এই এই প্রশ্নের জন্য উত্তর। +1
omninonsense

7

$ rails g model Item name:string description:text product:references

আমিও গাইডগুলি ব্যবহার করতে অসুবিধা পেয়েছি। বুঝতে সহজ, তবে আমি যা খুজছি তা খুঁজে পাওয়া শক্ত।

এছাড়াও, আমার অস্থায়ী প্রকল্প রয়েছে যা আমি rails generateকমান্ডগুলি চালিত করি । তারপরে আমি তাদের কাজ করার পরে এটি আমার আসল প্রকল্পে চালিত করি।

উপরের কোডের জন্য রেফারেন্স: http://guides.rubyonrails.org/getting_st সূত্র html#associating-models


3

এই কমান্ডটি লেখার সময় আপনার পাঠ্যকে মূলধন না করার কথা মনে রাখবেন। উদাহরণ স্বরূপ:

লিখুন:

rails g model product title:string description:text image_url:string price:decimal

লিখ না:

rails g Model product title:string description:text image_url:string price:decimal

কমপক্ষে এটি আমার কাছে সমস্যা ছিল।


অপেক্ষা করুন?!? কি? আমি আমার মডেলের নামগুলি সর্বদা মূলধন করি! কোন "সমস্যা" দেখছেন?
মেলতেমি

2
আমি আপনার মডেলের নাম নয়, 'মডেল' নামটির কথা বলছি। আমি এই জাতীয় একটি মডেল তৈরি করার চেষ্টা করেছি: রেলস জি মডেল পণ্যের শিরোনাম: স্ট্রিং এবং পেয়েছে: জেনারেটর মডেলটি খুঁজে পেল না। সুতরাং আমি এটি এর মতো করে চেষ্টা করেছি: রেলস জি মডেলের পণ্যের শিরোনাম: স্ট্রিং এবং এটি কাজ করেছে।
ভিক্টর আগস্টো

1
আহ। যে বি 4 এর মুখোমুখি হয়নি। ভালো পরামর্শ!
মেলতেমি

2
(এটা মডেলের নাম ইস্যু যে না, এটি শব্দ modelজেনারেটর উল্লেখ করেন। rails g model Product …জরিমানা হয়।)
আশেরা

3

আপনি যদি রেলগুলিতে রুবির বেসিক স্টাফগুলি পেতে চেষ্টা করছেন তবে http://guides.rubyonrails.org একটি ভাল সাইট হওয়া উচিত।

মডেলগুলি উত্পন্ন করার সময় এটির সহযোগী করার জন্য এখানে একটি লিঙ্ক দেওয়া হয়েছে:


0

অন্যটির উল্লেখ করে এমন একটি মডেল তৈরি করা খুব সহজ R

রেল g মডেল আইটেমের নাম: স্ট্রিং বিবরণ: পাঠ্য পণ্য: রেফারেন্স

এই কোডটি আইটেমের সারণিতে 'product_id' কলাম যুক্ত করবে


0

মডেল তৈরি করার সময় আপনি প্রচুর ডেটা ধরণের উল্লেখ করতে পারেন, কয়েকটি উদাহরণ হ'ল:

:primary_key, :string, :text, :integer, :float, :decimal, :datetime, :timestamp, :time, :date, :binary, :boolean, :references

বাক্য গঠন:

field_type:data_type

0

আমার একই সমস্যা ছিল, তবে আমার কোডটি কিছুটা আলাদা ছিল।

def new
 @project = Project.new
end

এবং আমার ফর্মটি দেখতে এমন দেখাচ্ছে:

<%= form_for @project do |f| %>
     and so on....
<% end %>

এটি সম্পূর্ণরূপে সঠিক ছিল, সুতরাং আমি কীভাবে এটি বের করবো তা জানতাম না।

অবশেষে, শুধু যোগ করা

url: { projects: :create }

পরে

<%= form-for @project ...%>

আমার জন্য কাজ।


এটি একটি ভাল উত্তর হতে পারে কিন্তু আমি নিশ্চিত এটা কিভাবে ওপি ক্ষেত্র ধরনের (প্রায় যা সম্পর্কিত নই :integer, :string, ইত্যাদি ...)।
মেল্টেমি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.