[Ruby-on-rails] रेल पर रूबी मॉडल फ़ील्ड उत्पन्न करता है: प्रकार - फ़ील्ड के लिए विकल्प क्या हैं: टाइप करें?


Answers

एक मॉडल बनाने के लिए जो दूसरे संदर्भ देता है, रूबी मॉडल जेनरेटर पर रूबी का उपयोग करें:

$ 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

जब आप माइग्रेशन चलाते हैं, तो निम्न आपके डीबी / schema.rb में समाप्त हो जाएगा:

$ rake db:migrate

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

दस्तावेज़ीकरण के लिए, रेल जनरेटर के लिए एक प्रारंभिक बिंदु रेल पर रूबी है: रेल गाइड कमांड लाइन के लिए एक गाइड जो आपको उपलब्ध फ़ील्ड प्रकारों के बारे में अधिक जानकारी के लिए एपीआई दस्तावेज़ीकरण के लिए इंगित करता है।

Question

मैं एक नया मॉडल उत्पन्न करने की कोशिश कर रहा हूं और किसी अन्य मॉडल की आईडी को संदर्भित करने के लिए वाक्यविन्यास भूल गया हूं। मैं इसे खुद देखता हूं, लेकिन मुझे पता नहीं चला है कि रेल के दस्तावेज लिंक पर मेरे रूबी के बीच, निश्चित स्रोत कैसे ढूंढें।

$ rails g model Item name:string description:text (और यहां या तो reference:product या references:product )। लेकिन बेहतर सवाल यह है कि मैं भविष्य में इस तरह की सुस्तता को आसानी से कैसे देख सकता हूं?

नोट: मैंने कड़ी मेहनत सीखी है कि यदि मैं इन विकल्पों में से किसी एक को गलत टाइप करता हूं और अपना माइग्रेशन चलाता हूं तो रेल पर रूबी पूरी तरह से मेरे डेटाबेस को खराब कर देगा ... और rake db:rollback ऐसे स्क्रूप्स के खिलाफ शक्तिहीन है। मुझे यकीन है कि मैं कुछ समझ नहीं रहा हूं, लेकिन जब तक मैं नहीं करता ... rails g model द्वारा लौटाई गई "विस्तृत" जानकारी अभी भी मुझे खरोंच कर देती है ...




मेरे पास एक ही समस्या थी, लेकिन मेरा कोड थोड़ा अलग था।

def new @project = Project.new end

और मेरा रूप इस तरह दिखता था:

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

यह बिल्कुल सही था, इसलिए मुझे नहीं पता था कि इसे कैसे समझें।

अंत में, बस url: { projects: :create } जोड़ना url: { projects: :create } <%= form-for @project के लिए मेरे लिए काम किया।




इस आदेश को लिखते समय अपने पाठ को कैपिटल नहीं करना याद रखें। उदाहरण के लिए:

लिखो

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

कम से कम यह मेरे लिए एक समस्या थी।