Enquanto você está desenvolvendo aplicações Rails, especialmente aqueles que são principalmente fornecendo-lhe com uma interface simples para os dados em um banco de dados, que muitas vezes pode ser útil usar o método de andaime.
Andaimes oferece mais de emoções de demonstração baratos. Aqui estão alguns benefícios:
Você pode rapidamente obter o código na frente de seus usuários para o gabarito.
Você está motivado pelo rápido sucesso.
Você pode aprender Rails funciona olhando para o código gerado.
Você pode usar o andaime como base para jumpstarts seu desenvolvimento.
Exemplo Andaimes:
Para entender andaimes vamos criar um banco de dados chamado livro de receitas e uma tabela chamada receitas:
Criando um aplicativo Web vazio Rails:
Abra uma janela de comando e navegar para onde você deseja criar este aplicativo web livro de receitas. Eu usei c: \ ruby. Então, execute o seguinte comando para criar a estrutura de diretório completo.
Configurando o banco de dados:
Aqui é o caminho para criar banco de dados:
Para dizer Rails como encontrar o banco de dados, editar o arquivo de configuração c: \ ruby \ livro \ config \ database.yml e alterar o nome do banco de dados para livro de receitas. Deixe a senha em branco. Quando terminar, ele deve ser algo como
Rails permite que você execute no modo de desenvolvimento, o modo de teste, ou modo de produção, utilizando bases de dados diferentes. Este aplicativo usa o mesmo banco de dados para cada um.
Criando as tabelas do banco de dados:
Nós vamos usar a tabela a seguir para nosso propósito prático. Portanto, criar receitas de tabela sql prompt, como segue:
Criando um Modelo:
Primeiro, crie uma classe de modelo da Receita que manterá os dados da tabela no banco de dados de receitas. Use o seguinte comando dentro do diretório do livro de receitas.
Observe que você está capitalizando Receita e usando a forma singular. Este é um paradigma Rails que você deve seguir sempre que criar um modelo.
Isso irá criar um arquivo chamado app / models / recipe.rb contendo uma definição esqueleto para a classe Receita.
Criando Controlador:
Agora temos que criar um controlador de receita com ações de manipular as receitas do banco de dados por meio das operações CRUD padrão: criar, ler, atualizar e excluir.
Observe que você está capitalizando Receita e usando a forma singular. Este é um paradigma Rails que você deve seguir sempre que criar um controlador.
Isso irá criar um arquivo chamado app / controllers / recipe_controller.rb contendo uma definição esqueleto para a classe RecipeController. Edite este arquivo e adicione o andaime linha: receita como mostrado
Esta única linha de código trará a tabela de banco de dados para a vida. Isto irá fornecer uma interface simples para os dados, e as formas de:
Criação de novas entradas
Edição de entradas atuais
Visualizando entradas atuais
Destruir entradas atuais
Ao criar ou editar uma entrada, andaime vai fazer todo o trabalho duro da geração de forma e manuseio para você, e ainda vai proporcionar a geração de forma inteligente, apoiando os seguintes tipos de entradas:
Simples cadeias de texto
Textareas (ou grandes blocos de texto)
seletores de data
seletores de data e hora
Agora vá para o diretório livro de receitas e executar o Servidor Web usando o seguinte comando:
Agora abra um navegador e navegue até [Tens de ter uma conta e sessão iniciada para poderes visualizar este link] Isto irá lhe fornecer uma tela para criar novas entradas na tabela receitas. A captura de tela é mostrada abaixo:
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Uma vez que você pressione botão Criar para criar uma nova receita, o seu registro é adicionado na tabela de receitas e mostra seguinte resultado:
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Você pode ver a opção para editar, mostrar e destruir os registros. Então brinque estas opções.
Você também pode listar todas as receitas disponíveis na tabela de receitas usando [Tens de ter uma conta e sessão iniciada para poderes visualizar este link] URL
Reforçar o modelo:
Rails dá-lhe um monte de tratamento de erro de graça. Para entender isso, adicione algumas regras de validação para o modelo de receita vazio:
Modificar app / models / recipe.rb como se segue e, em seguida, testar a sua aplicação:
Essas entradas dará a verificação automática que:
validates_length_of: o campo não está em branco e não muito longo
validates_uniqueness_of: valores duplicados estão presos. Eu não gosto da mensagem de erro padrão Rails - por isso, dou a minha mensagem personalizada.
O Código Andaime gerada:
Com a ação de andaime, o Rails gera todo o código que precisa dinamicamente. Ao executar andaime como um script, podemos obter todo o código escrito para o disco onde podemos investigá-lo e, em seguida, começar a adaptá-la às nossas necessidades.
Então, agora vamos começar mais uma vez para gerar o código Andaime manualmente usando andaime script auxiliar:
O Controlador:
Vamos olhar para o código por trás do controller.This todo o código é gerado pelo andaime gerador. Então, se você vai abrir app / controllers / recipes_controller.rb então você vai encontrar algo como segue:
Quando o usuário de um aplicativo Rails seleciona uma ação. por exemplo "Mostrar" - o controlador irá executar qualquer código na seção apropriada - "def show" - e então, por padrão vai render um modelo com o mesmo nome - "show.rthml". Esse comportamento padrão pode ser substituído:
O controlador usa métodos ActiveRecord como encontrar, find_all, novo, salvar, update_attributes, e destruir para mover dados de e para as tabelas do banco de dados. Note que você não tem que escrever quaisquer instruções SQL, trilhos vai cuidar disso automaticamente.
Os Visualizações:
Todos os pontos de vista e os correspondentes de todos os métodos de controle são criados pelo comando de andaime e eles estão disponíveis em app / views / diretório receitas.
Como Andaimes é diferente?
Se você passou por capítulos anteriores, então você deve ter visto que tínhamos criado métodos para listar, mostrar, apagar e criar dados etc mas andaime faz esse trabalho automaticamente.
Créditos >> tutorialspoin <<
Andaimes oferece mais de emoções de demonstração baratos. Aqui estão alguns benefícios:
Você pode rapidamente obter o código na frente de seus usuários para o gabarito.
Você está motivado pelo rápido sucesso.
Você pode aprender Rails funciona olhando para o código gerado.
Você pode usar o andaime como base para jumpstarts seu desenvolvimento.
Exemplo Andaimes:
Para entender andaimes vamos criar um banco de dados chamado livro de receitas e uma tabela chamada receitas:
Criando um aplicativo Web vazio Rails:
Abra uma janela de comando e navegar para onde você deseja criar este aplicativo web livro de receitas. Eu usei c: \ ruby. Então, execute o seguinte comando para criar a estrutura de diretório completo.
Código:
C:\ruby> rails cookbook
Configurando o banco de dados:
Aqui é o caminho para criar banco de dados:
Código:
mysql> create database cookbook;
Query OK, 1 row affected (0.01 sec)
mysql> grant all privileges on cookbook.*
to 'root'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
Para dizer Rails como encontrar o banco de dados, editar o arquivo de configuração c: \ ruby \ livro \ config \ database.yml e alterar o nome do banco de dados para livro de receitas. Deixe a senha em branco. Quando terminar, ele deve ser algo como
Código:
development:
adapter: mysql
database: cookbook
username: root
password: [password]
host: localhost
test:
adapter: mysql
database: cookbook
username: root
password: [password]
host: localhost
production:
adapter: mysql
database: cookbook
username: root
password: [password]
host: localhost
Rails permite que você execute no modo de desenvolvimento, o modo de teste, ou modo de produção, utilizando bases de dados diferentes. Este aplicativo usa o mesmo banco de dados para cada um.
Criando as tabelas do banco de dados:
Nós vamos usar a tabela a seguir para nosso propósito prático. Portanto, criar receitas de tabela sql prompt, como segue:
Código:
mysql> USE cookbook;
Changed database
mysql> CREATE TABLE recipes (
-> id INT(11) NOT NULL AUTO_INCREMENT,
-> title VARCHAR(40),
-> instructions VARCHAR(255),
-> PRIMARY KEY (id));
Query OK, 0 rows affected (0.06 Sec)
Criando um Modelo:
Primeiro, crie uma classe de modelo da Receita que manterá os dados da tabela no banco de dados de receitas. Use o seguinte comando dentro do diretório do livro de receitas.
Código:
C:\ruby\cookbook > ruby script\generate model Recipe
Observe que você está capitalizando Receita e usando a forma singular. Este é um paradigma Rails que você deve seguir sempre que criar um modelo.
Isso irá criar um arquivo chamado app / models / recipe.rb contendo uma definição esqueleto para a classe Receita.
Criando Controlador:
Agora temos que criar um controlador de receita com ações de manipular as receitas do banco de dados por meio das operações CRUD padrão: criar, ler, atualizar e excluir.
Código:
C:\ruby\cookbook > ruby script\generate controller Recipe
Observe que você está capitalizando Receita e usando a forma singular. Este é um paradigma Rails que você deve seguir sempre que criar um controlador.
Isso irá criar um arquivo chamado app / controllers / recipe_controller.rb contendo uma definição esqueleto para a classe RecipeController. Edite este arquivo e adicione o andaime linha: receita como mostrado
Código:
class RecipeController < ApplicationController
scaffold:recipe
end
Esta única linha de código trará a tabela de banco de dados para a vida. Isto irá fornecer uma interface simples para os dados, e as formas de:
Criação de novas entradas
Edição de entradas atuais
Visualizando entradas atuais
Destruir entradas atuais
Ao criar ou editar uma entrada, andaime vai fazer todo o trabalho duro da geração de forma e manuseio para você, e ainda vai proporcionar a geração de forma inteligente, apoiando os seguintes tipos de entradas:
Simples cadeias de texto
Textareas (ou grandes blocos de texto)
seletores de data
seletores de data e hora
Agora vá para o diretório livro de receitas e executar o Servidor Web usando o seguinte comando:
Código:
C:\ruby\cookbook> ruby script/server
Agora abra um navegador e navegue até [Tens de ter uma conta e sessão iniciada para poderes visualizar este link] Isto irá lhe fornecer uma tela para criar novas entradas na tabela receitas. A captura de tela é mostrada abaixo:
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Uma vez que você pressione botão Criar para criar uma nova receita, o seu registro é adicionado na tabela de receitas e mostra seguinte resultado:
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Você pode ver a opção para editar, mostrar e destruir os registros. Então brinque estas opções.
Você também pode listar todas as receitas disponíveis na tabela de receitas usando [Tens de ter uma conta e sessão iniciada para poderes visualizar este link] URL
Reforçar o modelo:
Rails dá-lhe um monte de tratamento de erro de graça. Para entender isso, adicione algumas regras de validação para o modelo de receita vazio:
Modificar app / models / recipe.rb como se segue e, em seguida, testar a sua aplicação:
Código:
class Recipe < ActiveRecord::Base
validates_length_of :title, :within => 1..20
validates_uniqueness_of :title, :message => "already exists"
end
Essas entradas dará a verificação automática que:
validates_length_of: o campo não está em branco e não muito longo
validates_uniqueness_of: valores duplicados estão presos. Eu não gosto da mensagem de erro padrão Rails - por isso, dou a minha mensagem personalizada.
O Código Andaime gerada:
Com a ação de andaime, o Rails gera todo o código que precisa dinamicamente. Ao executar andaime como um script, podemos obter todo o código escrito para o disco onde podemos investigá-lo e, em seguida, começar a adaptá-la às nossas necessidades.
Então, agora vamos começar mais uma vez para gerar o código Andaime manualmente usando andaime script auxiliar:
Código:
C:\ruby\cookbook> ruby script/generate scaffold recipe
exists app/controllers/
exists app/helpers/
create app/views/recipes
exists app/views/layouts/
exists test/functional/
dependency model
exists app/models/
exists test/unit/
exists test/fixtures/
identical app/models/recipe.rb
identical test/unit/recipe_test.rb
identical test/fixtures/recipes.yml
create app/views/recipes/_form.rhtml
create app/views/recipes/list.rhtml
create app/views/recipes/show.rhtml
create app/views/recipes/new.rhtml
create app/views/recipes/edit.rhtml
create app/controllers/recipes_controller.rb
create test/functional/recipes_controller_test.rb
create app/helpers/recipes_helper.rb
create app/views/layouts/recipes.rhtml
create public/stylesheets/scaffold.css
C:\ruby\cookbook>
O Controlador:
Vamos olhar para o código por trás do controller.This todo o código é gerado pelo andaime gerador. Então, se você vai abrir app / controllers / recipes_controller.rb então você vai encontrar algo como segue:
Código:
class RecipesController > ApplicationController
def index
list
render :action => 'list'
end
verify :method => :post, :only => [ :destroy, :create, :update ],
:redirect_to => { :action => :list }
def list
@recipe_pages, @recipes = paginate :recipes, :per_page => 10
end
def show
@recipe = Recipe.find(params[:id])
end
def new
@recipe = Recipe.new
end
def create
@recipe = Recipe.new(params[:recipe])
if @recipe.save
flash[:notice] = 'Recipe was successfully created.'
redirect_to :action => 'list'
else
render :action => 'new'
end
end
def edit
@recipe = Recipe.find(params[:id])
end
def update
@recipe = Recipe.find(params[:id])
if @recipe.update_attributes(params[:recipe])
flash[:notice] = 'Recipe was successfully updated.'
redirect_to :action => 'show', :id => @recipe
else
render :action => 'edit'
end
end
def destroy
Recipe.find(params[:id]).destroy
redirect_to :action => 'list'
end
end
Quando o usuário de um aplicativo Rails seleciona uma ação. por exemplo "Mostrar" - o controlador irá executar qualquer código na seção apropriada - "def show" - e então, por padrão vai render um modelo com o mesmo nome - "show.rthml". Esse comportamento padrão pode ser substituído:
O controlador usa métodos ActiveRecord como encontrar, find_all, novo, salvar, update_attributes, e destruir para mover dados de e para as tabelas do banco de dados. Note que você não tem que escrever quaisquer instruções SQL, trilhos vai cuidar disso automaticamente.
Os Visualizações:
Todos os pontos de vista e os correspondentes de todos os métodos de controle são criados pelo comando de andaime e eles estão disponíveis em app / views / diretório receitas.
Como Andaimes é diferente?
Se você passou por capítulos anteriores, então você deve ter visto que tínhamos criado métodos para listar, mostrar, apagar e criar dados etc mas andaime faz esse trabalho automaticamente.
Spoiler :
Créditos >> tutorialspoin <<