Bėgiai sukuria modelio lauką: tipas, kokie yra lauko parametrai: tipas?

Aš žinau, kad tai kvailas klausimas, bet kaip ir daug daugiau apie mokymąsi iš bėgių, manau, kad dokumentai neįtikėtinai sunku rasti / naršyti.

Bandau sukurti naują modelį ir pamiršti sintaksę, kad galėtumėte nurodyti kitą modelio identifikatorių. Būčiau pažiūrėjęs į save, bet nesupratęs, tarp visų nuorodų į nuorodas į bėgius, kaip rasti galutinį šaltinį.

$ rails g model Item name:string description:text (ir čia arba reference:product arba references:product ). Tačiau geriausias klausimas yra, kur ir kaip ateityje galiu atrodyti taip kvaila, taigi man nereikia tave nerimauti su savo kvailais klausimais.

Pastaba Aš kruopščiai sužinojau, kad jei aš klystu vienoje iš šių parinkčių ir paleisiu savo migraciją, „Rails“ visiškai sugadins mano duomenų bazę ... ir rake db:rollback bejėgis prieš tokį bjaurumą. Esu tikras, kad aš nieko nesuprantu, bet kol dar nepadarysiu ... išsami informacija, kurią grąžina rails g model vis tiek palieka mane įbrėžimą ...

273
08 дек. Meltemi rinkinys gruodžio 08 d 2010-12-08 07:50 '10, 7:50, 2010-12-08 07:50
@ 6 atsakymai
 :primary_key, :string, :text, :integer, :float, :decimal, :datetime, :timestamp, :time, :date, :binary, :boolean, :references 

Žr. Lentelės apibrėžimų skyrių.

428
08 дек. Atsakymą pateikė Paul Schreiber, gruodžio 8 d. 2010-12-08 08:02 '10, 8:02 2010-12-08 08:02

Norėdami sukurti kitą modelį, naudokite geležinkelio modelio generatorių:

 $ rails g model wheel car:references 

Tai sukuria /models/wheel.rb programą :

 class Wheel < ActiveRecord::Base belongs_to :car end 

Ir pridedama ši migracija:

border=0
 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 

Kai pradėsite migraciją, db / schema.rb bus <following>:

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

Kalbant apie dokumentaciją, geležinkelio generatorių pradinis taškas yra „ Ruby on Rails“: „Rails“ komandų eilutės vadovas , nurodantis API dokumentaciją , kad gautumėte daugiau informacijos apie galimus lauko tipus.

178
13 июля '11 в 19:46 2011-07-13 19:46 atsakymas pateikiamas Troy liepos 13 d., 11 val., 19:46, 2011-07-13 19:46

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

Aš taip pat rasta vadovų, kuriuos sunku naudoti. Lengvai suprantama, bet sunku rasti tai, ko ieškau.

Be to, turiu tempo projektus, kuriuose rails generate komandas. Tada, kai tik aš uždirsiu juos, jį paleisiu savo tikrame projekte.

Nuoroda į aukščiau pateiktą kodą: http://guides.rubyonrails.org/getting_started.html#associating-models

7
20 июня '11 в 20:47 2011-06-20 20:47 Atsakymą pateikė B Seven birželio 20 d. 11 val. 20:47 2011-06-20 20:47

http://guides.rubyonrails.org turėtų būti gera svetainė, jei bandote eiti per pagrindinę bėgių medžiagą. Čia yra nuoroda į susijusius modelius, kai jie yra sukurti. http://guides.rubyonrails.org/getting_started.html#associating-models

3
08 дек. Atsakymą pateikė Raghu 08 dec. 2010-12-08 07:59 '10, 7:59, 2010-12-08 07:59

Atminkite, kad rašydami šią komandą neparašykite šios komandos. Pavyzdžiui:

Rašyti:

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

Nerašykite:

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

Bent tai buvo problema man.

3
22 авг. Atsakymą pateikė Victor Augusto rugpjūčio 22 d. 2012-08-22 17:28 '12 at 17:28 2012-08-22 17:28

Šiek tiek vėlai! Turėjau tą pačią problemą, bet mano kodas buvo šiek tiek kitoks.

def new @project = Project.new end

ir mano forma atrodė taip:

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

Tai buvo visiškai teisinga, todėl aš nežinojau, kaip ją suprasti.

Galiausiai, tiesiog pridėjote url: { projects: :create } po <%= form-for @project , jis dirbo man.

Tikiuosi, kad tai padės kam nors!

0
12 окт. atsakymas pateikiamas tik spalio 12 d. 2016-10-12 05:50 '16 at 5:50 am 2016-10-12 05:50

Kiti klausimai apie žymes arba Užduoti klausimą