markdown 介绍ao Rails
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown 介绍ao Rails相关的知识,希望对你有一定的参考价值。
# app
pasta principal da aplicação onde fica a maior parte do código que será desenvolvido, Rails segue a estrutura MVC, então nesse diretório você encontra as **views**, **controllers** e **models**, além disso **jobs**, **channels** e etc
## app/assets
Aqui ficam os arquivos estáticos como css, javascript, coffeescript, scss, imagens e etc, desenvolvidos especificamente para sua aplicação (assets de fontes externas ficam em **vendor**)
### app/assets/images
Pasta com as imagens da aplicação (logo, backgrounds, icones e etc)
### app/assets/javascripts
Pasta com os arquivos javascript que serão escritos no desenvolvimento do projeto
### app/assets/javascripts/channels
O Rails 5 incluiu o **Action Cable** (websockets) como parte do framework e nesta pasta serão colocados os arquivos coffesscript que irão se comunicar com o backend para fazer essa conexão real time no seu App [(mais detalhes)](https://onebitcode.com/como-criar-um-chat-em-tempo-real-usando-action-cable-rails-5/)
### app/assets/javascripts/application.js
Arquivo já criado pelo Rails onde são colocados as dependências de javascript da aplicação
### app/assets/stylesheets
Pasta onde ficarão os arquivos de estilo da aplicação (css,sass,scss)
### app/assets/stylesheets/application.css
Arquivo já criado pelo Rails onde serão colocados todas as dependências de css do projeto
## app/channels
Como o Rails 5 adotou o **Action Cable**, nesta pasta é onde serão criados os arquivos de channel para receber as chamadas do frontend
## app/controllers
Nessa pasta ficam todas as **controllers** da aplicação
### app/controllers/application_controller.rb
Esta é a principal controller da aplicação, todas as outras controllers irão herdar desse arquivo, ele serve como base para criar métodos que serão comuns a outras controllers
### app/controllers/concerns
Concerns são módulos auxiliares que podem ser compartilhados entre os controllers, aqui também podem ser criados códigos que serão reutilizáveis para diminuir o tamanho das demais controllers
## app/helpers
Nesta pasta ficam os helpers que irão auxiliar as **views**. O Rails já possui vários helpers pré-criados como o **image_tag**, **form_tag** e etc, aqui é possível criar novos helpers para serem utilizados nas views
### app/helpers/application_helper.rb
Assim como o **application_controller**, esse arquivo serve de base para todos os outros helpers criados, todos os métodos criados nesse arquivo, estarão disponíveis em todos os outros helpers criados
## app/jobs
Jobs são conjuntos de comandos que rodam de maneira paralela no seu sistema para aumentar a velocidade de resposta ao usuário, e aliviar o peso de funções como envio de emails, SMS e etc. Esta pasta foi introduzida no Rails 5 para ajudar a padronizar a declaração dos jobs
### app/jobs/application_job.rb
Assim como os demais arquivos de application, todos os outros jobs herdam desse arquivo principal
## app/mailers
Nesta pasta você encontra os arquivos responsáveis pelo envio de emails, eles são similares aos controllers e também possuem suas views (modelos de email) que ficam em **app/views/mailer_nome/**
### app/mailers/application_mailer.rb
Assim como os demais arquivos de application, todos os outros mailers herdam desse arquivo principal
## app/models
Pasta onde ficam todos os **models** da aplicação
### app/models/concerns
Os models concerns são similares aos controllers concerns e servem para terem métodos comuns entre os models para serem usados por todos os models
## app/views
Pasta onde ficam os arquivos relacionados a **view**, esses arquivos são uma combinação de **HMLT** e **ruby** (erb) geralmente. Mas também é possível usar alguns marcadores diferentes como **Haml** e **Slim** que facilitam a criação rápida de telas, as views geralmente estão relacionados a uma action de uma controller.
### app/views/layouts
Pasta onde ficam os layouts que serão usados na aplicação e também partials. Geralmente todas as views são renderizadas dentro do layout **application.html.erb** mas também podem ser criados outros arquivos de layout para por exemplo ter uma estrutura diferente entre as telas do sistema para o usuário e para o admin. As partials são arquivos que podem ser reutilizados para várias views como por exemplo um header, footer, sidebar etc.
### app/views/layouts/application.html.erb
Esse arquivo é o layout default de todas as views que são renderizadas a partir do **application_controller.rb** e de todos os controllers que herdarem ele
# Config
Aqui ficam todos os arquivos de configuração da aplicação, desde o **database.yml** que serve para se conectar ao banco de dados até o arquivo para configurar as rotas da aplicação.
## config/application.rb
Arquivo principal de configuração, nele é configurado o **idioma**, **timezone** e etc, todas as configurações realizadas aqui serão usados para todos os **enviroments** (test, development, production)
## config/boot.rb
Arquivo verifica se existe um **Gemfile** presente no projeto, guarda o caminho para esse Gemfile na variável de ambiente **BUNDLE_GEMFILE** e coloca como dependência da aplicação o **'bundler/setup'** que realiza a instalação das gems no sistema
## config/cable.yml
O Action Cable usa esse arquivo para configurar cada enviroment (test, development, procution) um adapter (redis por exemplo) e uma URL para esse adapter (por exemplo redis: **10.10.10.10:6381**
## config/database.yml
Nesse arquivo é configurado as credenciais de acesso ao banco de dados, separado por enviroment, ou seja é configurado banco de dados diferentes para cara ambiente da aplicação
## config/enviroment.rb
Esse arquivo coloca como dependência o **application.rb** que vai inicializar a aplicação
## config/routes.rb
Aqui é configurado as rotas da aplicação, ou seja, é declarado qual controller e método é executado de acordo com as urls solicitadas
## config/secrets.yml
Esse arquivo foi criado para que seja possível armazenar as credenciais que serão usadas no sistema como por exemplo credenciais de acesso a uma API de envio de SMS, S3 e etc. O arquivo também permite que seja configurado credenciais diferentes baseado no enviroment atual. Esse arquivo é acesso diretamente de qualquer lugar da aplicação usando uma chamada similar a essa: **Rails.application.secrets.<secret_name>**
## config/enviroments
O Rails possui três enviroments padrão **test**, **development** e **production**, nesta pasta é onde serão colocados os arquivos de configuração específicos para cada enviroment
## config/initializers
Nesta pasta estarão todos os arquivos **.rb** que precisam rodar quando o processo de inicialização do Rails acontecer, geralmente os arquivos que estão aqui servem para configurar serviços como o **sidekiq**, **carrierwave** e etc
## config/locales
Nesta pasta ficam os arquivos **.yml** para cada idioma que a aplicação ira suportar. Usando o sistema do **i18n** fica fácil traduzir a aplicação.
# db
Todos os arquivos relacionados ao banco de dados ficarão nesta pasta, incluindo as **migrations**, **seeds**, **schema** e etc
## db/seeds.rb
Usando o seed, você pode deixar comandos preparados para criarem os dados obrigatórios do projeto no banco de dados
# lib
Aqui é onde todas as bibliotecas específicas para a aplicação ficarão, por exemplo, caso precise escrever um código para transformar palavras em caracters de código morse (e não exista uma gem para isso) você pode coloca-la aqui
## lib/tasks
Caso precise criar novas tasks rake para o projeto, é aqui que elas ficarão. Os arquivos incluídos nessa pasta serão automaticamente carregados
# log
Aqui ficarão os arquivos de log da aplicação
# public
Aqui ficam os arquivos web estáticos, como o **404.html**, **500.html**, **favicon.ico**, todos os arquivos incluídos nesse diretorio são acessíveis da seguinte maneira: **http://seudominio.com/nome_do_arquivo**
# test
Aqui ficam todos os arquivos de teste da aplicação
# tmp
Pasta controlada pelo Rails para armazenar arquivos temporários de cache, então não coloque nada aqui :)
# vendor
Aqui é onde ficam os assets de terceiros que serão usados na aplicação, os assets que ficarem aqui serão adicionados ao load paths automaticamente e poderão ser importados no seu projeto
# Gemfile
Arquivo onde é declarado todas as **gems** que serão usadas no projeto, as gems podem ser separadas por ambiente (test,dev,production)
# Gemfile.lock
Aqui fica montada a árvore de gems que o projeto está usando, incluindo as gems que são declaradas no **Gemfile** + as gems que são dependências delas.
# Rakefile
Arquivo responsável por carregar automaticamente as tasks rake que você cria na pasta **lib/tasks**
以上是关于markdown 介绍ao Rails的主要内容,如果未能解决你的问题,请参考以下文章
text 问题ao rodar“rails db:migrate”apósinstalaçãodoCKEditor no Rails 5.1
markdown Como adicionar Zendesk ao admin do Magento
markdown Erro ao instalar o Linux Mint no Lenovo Ideapad 320