Tendo problemas para começar com Ruby on Rails
-
13-09-2019 - |
Pergunta
Eu estou querendo saber se alguém pode resolver alguns dos problemas que estou tendo? Eu criar um rails app:
rails myapp -d mysql
cd myapp
haml --rails .
rake db:create:all
Então eu quero usar um cliente mysql para criar tabelas. Permite que os usuários dizem e clientes. Um cliente também é um usuário assim que você tem esquema como este:
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
O trilhos comandos de script que eu preciso para executar para obter modelo, pontos de vista e os controladores criados e completamente preenchido sob minha rails aplicativo? Eu tentei isso:
ruby script/generate scaffold user
ruby script/generate scaffold customer
que cria os arquivos, mas os modelos são vazio:
class User < ActiveRecord::Base
end
Qual é o negócio? Além disso, eu quero criar uma seção de administração para gerenciar coisas. Eu descobri que eu preciso adicionar rotas para aqueles:
map.namespace :admin do |admin|
admin.resources :users
admin.resources :customers
end
O que mais eu preciso para obter a área de administração está indo? Também aqui são as versões de ruby ??/ gems Estou executando:
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)
Solução
Os modelos são suposto ser vazia por padrão porque o esquema de banco de dados são salvos em arquivo schema.rb
e gerenciados usando migrações .
A partir da sua resposta que eu entendo que você está procurando uma solução pré-embalagem para escrever um par de configurações e obter tudo, de controlador para administração cozido para você. Sinto muito, Rails não lhe oferece este recurso. Se você quer uma seção de administração você realmente tem que código-lo.
Ele inclui:
- criação de seus pontos de vista e modelos
- criação de suas ações
- mapeando suas rotas
- escrevendo seus testes
O andaime só fornece um ponto de partida, mas este é um ponto de partida que você deve adaptar e ampliar as suas necessidades.
Se quiser que o andaime para gerar automaticamente os seus pontos de vista iniciais de acordo com sua tabela de banco de dados, você pode passar os argumentos para a ferramenta de linha de comando
ruby script/generate scaffold user name:string age:integer
Mas se você quiser adicionar um novo campo mais tarde, você tem que escrever uma nova migração e editar os seus pontos de vista / acções em conformidade.
Mais informações estão disponíveis nos Rails Guides e Wiki .
Outras dicas
Rails é projetado para a independência do banco de dados com toda a 'criação' feito através das migrações localizados em db/migrate
.
Para criar as tabelas de banco de dados apropriadas você, então simplesmente executar rake db:migrate
e quaisquer migrações será executado para criar as tabelas necessárias DB.
Um bom lugar para mais informações é o Rails Guides que tem um exemplo de aplicação para o trabalho through.