315 votes

rails de générer le modèle de champ:type -quelles sont les options pour le champ:type?

Je sais que c'est une question stupide, mais comme beaucoup sur l'apprentissage des Rails de trouver de la documentation incroyablement difficile à trouver ou à retrouver.

Je suis en train de créer un nouveau modèle et d'oublier la syntaxe de référence à un autre modèle ID. J'avais le chercher moi-même mais je n'ai pas trouvé, parmi tous mes rails, des liens vers la documentation, comment trouver la source définitive.

$ rails g model Item name:string description:text (et ici, soit reference:product ou references:product). Mais la question est ou comment puis-je regarder ce genre de bêtise facilement dans le futur, donc je n'ai pas besoin de vous déranger tous avec mes questions stupides.

Note: j'ai appris à la dure que si je frappe dans l'une de ces options et d'exécuter ma migration alors que les Rails totalement bousiller ma base de données... et rake db:la restauration est impuissante face à une telle screwups. Je suis sûr que je ne suis tout simplement pas comprendre quelque chose, mais jusqu'à ce que je fais... le "détail" de l'information retournée par rails g model me laisse encore gratter...

490voto

Paul Schreiber Points 7214
:primary_key, :string, :text, :integer, :float, :decimal, :datetime, :timestamp,
:time, :date, :binary, :boolean, :references

Voir le tableau des définitions de la section.

191voto

Troy Points 2492

Pour créer un modèle qui fait référence à un autre, utiliser les rails générateur de modèle:

$ rails g model wheel car:references

Qui produit app/models/roue.rb:

class Wheel < ActiveRecord::Base
  belongs_to :car
end 

Et ajoute la migration suivants:

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

Lorsque vous exécutez la migration, la suite de le mettre dans votre 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

Quant à la documentation, un point de départ pour les rails des générateurs est Ruby on Rails:Un Guide pour Les Rails de la Ligne de Commande qui vous renvoie à la Documentation de l'API pour plus sur les types de champs disponibles.

7voto

B Seven Points 6496

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

J'ai aussi trouvé les guides difficile à utiliser. Facile à comprendre, mais difficile de trouver ce que je cherche.

Aussi, j'ai temp projets que je lance l' rails generate des commandes. Puis une fois que je suis au travail je le lance sur mon projet.

De référence pour le code ci-dessus: http://guides.rubyonrails.org/getting_started.html#associating-models

3voto

Raghu Points 1583

http://guides.rubyonrails.org ce doit être un bon site si vous essayer d'obtenir à travers les trucs de base dans les rails. Voici le lien pour associer des modèles alors que vous générez. http://guides.rubyonrails.org/getting_started.html#associating-models

3voto

Victor Augusto Points 168

Rappelez-vous de ne pas tirer parti de votre texte lors de la rédaction de cette commande. Par exemple:

Faire écrire:

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

Ne pas écrire:

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

Au moins c'était un problème pour moi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X