Después de haber problemas para empezar con Ruby on Rails
-
13-09-2019 - |
Pregunta
Me pregunto si alguien puede abordar algunos de los problemas que estoy teniendo? Creo una aplicación rieles:
rails myapp -d mysql
cd myapp
haml --rails .
rake db:create:all
A continuación, quiero usar un cliente de MySQL para crear tablas. Digamos que los usuarios y clientes. Un cliente es también un usuario para que tenga el esquema siguiente:
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
comandos de script lo hacen carriles tengo que correr para obtener modelos, vistas y controladores creados y llenado completamente bajo mi carriles de aplicación? He intentado esto:
ruby script/generate scaffold user
ruby script/generate scaffold customer
que crea los archivos pero los modelos están vacíos:
class User < ActiveRecord::Base
end
cuál es el trato? También, quiero crear una sección de administración para gestionar cosas. Me di cuenta de que tengo que añadir rutas para los que:
map.namespace :admin do |admin|
admin.resources :users
admin.resources :customers
end
¿Qué más necesito para obtener la sección de administración de ir? También aquí están las versiones de rubí / gemas Me postulo:
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)
Solución
Los modelos se supone que deben estar vacío por defecto porque esquema de base se guarda en el archivo schema.rb
y gestionarse a través de migraciones .
A partir de su respuesta entiendo que busca una solución envase preparado para escribir un par de configuraciones y tener todo, desde el controlador de la administración hecha para ti. Lo siento, los carriles no le ofrece esta característica. Si quieres una sección de administración que realmente tiene que codificar la misma.
Incluye:
- crear sus puntos de vista y las plantillas
- Creación de sus acciones
- mapear sus rutas
- escribir sus pruebas
El andamio sólo le proporciona un punto de partida, pero este es un punto de partida que debe adaptarse y extenderse a sus necesidades.
Si desea que el andamio para generar automáticamente sus puntos de vista iniciales de acuerdo a la tabla de base de datos, puede pasar los argumentos de la herramienta de línea de comandos
ruby script/generate scaffold user name:string age:integer
Pero si desea añadir un nuevo campo más adelante, tendrá que escribir una nueva migración y editar sus puntos de vista / acciones en consecuencia.
Más información están disponibles en los rieles Guías y Wiki .
Otros consejos
Carriles está diseñado para la independencia de base de datos con toda la 'creación' hecho a través de las migraciones ubicadas en db/migrate
.
Para crear las tablas de base de datos apropiadas, a continuación, sólo tiene que ejecutar rake db:migrate
y cualquier migraciones serán ejecutadas para crear las tablas de base de datos necesarios.
Un buen lugar para obtener más información es el Rieles Guías que tiene una aplicación de ejemplo para trabajar a través.