Domanda

Sto cercando di generare un nuovo modello e dimenticare la sintassi per fare riferimento a ID di un altro modello. Mi piacerebbe guardare in su me stesso, ma non ho capito, in tutto il nostro Ruby on Rails collegamenti alla documentazione, come trovare la fonte definitiva.

$ rails g model Item name:string description:text (e qui sia reference:product o references:product). Ma la domanda migliore è , dove o come Posso cercare questo tipo di stupidità facilmente in futuro?

Nota: Ho imparato nel modo più duro che se digitano una di queste opzioni e Esegui mia migrazione , allora Ruby on Rails sarà totalmente vite la mia base di dati ... e rake db:rollback è impotente contro tali screwups. Sono sicuro che io non sono solo capire qualcosa, ma fino a quando lo faccio ... le informazioni "dettagliate" restituito da rails g model me graffi ...

lascia ancora
È stato utile?

Soluzione

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

Si veda la sezione delle definizioni di tabella .

Altri suggerimenti

Per creare un modello che fa riferimento a un'altra, usa il Ruby on Rails generatore di modello:

$ rails g model wheel car:references

che produce app / modelli / wheel.rb :

class Wheel < ActiveRecord::Base
  belongs_to :car
end

E aggiunge il seguente migrazione:

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

Quando si esegue la migrazione, il seguente finirà nel vostro db / 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

Per quanto riguarda la documentazione, un punto di partenza per le rotaie generatori è Ruby on Rails: una guida alla riga di comando Rails cui si punta a documentazione API per ulteriori informazioni sui tipi di campo disponibili.

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

Anche io trovato le guide difficile da usare. Facile da capire, ma difficile da trovare quello che sto cercando.

Inoltre, non ho progetti temporanei che ho eseguito i comandi rails generate on. Poi, una volta li faccio lavorare corro sul mio progetto reale.

di riferimento per il codice di cui sopra: http://guides.rubyonrails.org/getting_started. html # Associazione delle-modelli

Ricordate di non sfruttare il testo durante la scrittura di questo comando. Ad esempio:

Do scrittura:

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

Non scrivere:

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

Almeno era un problema per me.

http://guides.rubyonrails.org dovrebbe essere un buon sito, se si sta cercando di ottenere attraverso le cose di base in Ruby on Rails.

Questo è il link per modelli associati mentre li si generano: http://guides.rubyonrails.org/getting_started.html#associating-models

Ho avuto lo stesso problema, ma il mio codice era un po 'diverso.

def new @project = Project.new end

E la mia forma sembrava questa:

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

Questo è stato completamente corretto, quindi non sapevo come per capirlo.

Infine, solo l'aggiunta di url: { projects: :create } dopo <%= form-for @project ha lavorato per me.

E 'molto semplice in ROR per creare un modello che i riferimenti altro.

rotaie nome g di modello dell'articolo: stringa di descrizione: Prodotto di testo: i riferimenti

Questo codice aggiungerà 'product_id' colonna della tabella Elemento

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top