Question

Je me demande si quelqu'un peut répondre à certaines des questions que je suis confronté? Je crée une application de rails:

rails myapp -d mysql
cd myapp
haml --rails .
rake db:create:all

Ensuite, je veux utiliser un client MySQL pour créer des tables. Disons que les utilisateurs et les clients. Un client est également un utilisateur de sorte que vous avez schéma comme ceci:

users
----------------
id         int, not null, primary key, auto increment
first_name varchar(50) not null
last_name  varchar(50) not null
email      varchar(50) not null unique
password   varchar(50) not null
created_at datetime not null
updated_at datetime not null

customers
----------------
id         int, not null, primary key, auto increment
user_id    int, unique
-- some other stuff that is customer specific

ce que Rails commandes de script ai-je besoin de courir pour obtenir le modèle, des vues et des contrôleurs créés et complètement rempli sous mes rails app? J'ai essayé ceci:

ruby script/generate scaffold user
ruby script/generate scaffold customer

ce qui crée les fichiers mais les modèles sont vides:

class User < ActiveRecord::Base
end

ce qui est l'affaire? Aussi, je veux créer une section d'administration pour gérer des choses. Je me suis dit que je dois ajouter des routes pour ceux-ci:

map.namespace :admin do |admin|
  admin.resources :users
  admin.resources :customers
end

Que dois-je besoin pour obtenir la section d'administration va? Voici également les versions de rubis / gemmes Je courais:

ruby 1.8.6
rails 2.3.5 & 2.3.2 <- I'm using 2.3.2 because haml
  wasn't working (or some other plugin) with 2.3.5
haml 2.2.15
rspec 1.2.9 <- I saw from another thread that I might need
  this when creating an adminstration section (rspec_controller etc)
Était-ce utile?

La solution

Les modèles sont censés être vide par défaut, car le schéma de base de données est enregistré dans le fichier schema.rb et gérées en utilisant migrations .

De votre réponse, je comprends que vous cherchez une solution de préemballage pour écrire un couple de configurations et d'obtenir tout, du contrôleur à l'administration cuite pour vous. Je suis désolé, Rails ne vous offre pas cette fonctionnalité. Si vous voulez une section d'administration que vous avez réellement à coder.

Il comprend:

  1. créer vos vues et modèles
  2. créant vos actions
  3. cartographier vos itinéraires
  4. écrit vos tests

L'échafaudage ne vous fournit un point de départ, mais cela est un point de départ, vous devez adapter et étendre à vos besoins.

Si vous voulez que l'échafaudage pour générer automatiquement vos vues initiales selon votre table de base de données, vous pouvez passer les arguments à l'outil de ligne de commande

ruby script/generate scaffold user name:string age:integer

Mais si vous voulez ajouter un nouveau champ plus tard, vous devrez écrire une nouvelle migration et modifier vos vues / actions en conséquence.

Plus d'informations sont disponibles dans les Rails Guides et Wiki .

Autres conseils

Rails est conçu pour l'indépendance de base de données avec toute la « création » fait par les migrations situées dans db/migrate.

Pour créer les tables DB appropriés, vous exécutez alors simplement rake db:migrate et les migrations seront exécutées pour créer les tables DB nécessaires.

Un bon endroit pour plus d'informations est le Rails guides qui doit travailler un exemple d'application à travers.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top