"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Ruby on Rails 프론트 엔드 가속도 : 클래스리스 또는 클래스 라이트 CSS 프레임 워크

Ruby on Rails 프론트 엔드 가속도 : 클래스리스 또는 클래스 라이트 CSS 프레임 워크

2025-04-14에 게시되었습니다
검색:205

Ruby on Rails - Frontend Rápido com Frameworks CSS Classless ou Classlight

Inicie um Novo Aplicativo Rails

  • O time antes do comando rails serve para exibir no final da execução do comando o seu tempo de execução. No exemplo abaixo, levou 47 segundos.
$ rails -v
Rails 8.0.0

$ time rails new classless-css --asset-pipeline propshaft --skip-test
...
real    0m47.500s
user    0m33.052s
sys     0m4.249s

Abra o projeto com o VSCode ou seu editor preferido

$ cd classless-css && code .

 

Conhecendo o Layout Mestre Padrão do Rails app/views/layouts/application.html.erb.

Exibir mais …
  • Por Convenção sobre Configuração (CoC - Convention over Configuration), o Rails utiliza o application.html.erb como layout mestre para renderizar todas as páginas;
  • O Arquivo original no Rails 8.0.0 deve ter um conteúdo igual ou parecido com o copiado abaixo:

  
    
    
    
    
    
    

    

    
    

    
    
    

    
    
    
  

  
    
  


  • A parte superior dentro da tag … possuem os elementos estruturais importantes para que a página seja renderizada e funcione corretamente. a tag headé usada para incluir metadados e recursos importantes que ajudam a configurar o comportamento da página (com javascript), sua aparência (com CSS), sua relação com outros sistemas e serviços e configurações de segurança como a proteção para CSRF e CSP ;
  • O conteúdo principal das páginas será renderizado dentro de , através da tag ERB . Esta tag serve como ponto de integração para incluir o conteúdo de uma view renderizada dinamicamente pelo Rails;

 

Gere as Páginas de Teste, com um controller pages e as actions html_test_1, html_test_2, html_test_3 e html_test_4

Exibir mais …
$ rails g controller pages html_test_1 html_test_2 html_test_3 html_test_4
      create  app/controllers/pages_controller.rb
       route  get "pages/html_test_1"
              get "pages/html_test_2"
              get "pages/html_test_3"
              get "pages/html_test_4"
      invoke  erb
      create    app/views/pages
      create    app/views/pages/html_test_1.html.erb
      create    app/views/pages/html_test_2.html.erb
      create    app/views/pages/html_test_3.html.erb
      create    app/views/pages/html_test_4.html.erb
      invoke  helper
      create    app/helpers/pages_helper.rb
  • Como durante a criação do controller e das actions acima as rotas também foram adicionadas, podendo acessar qualquer action criada a partir dos links
    • localhost:3000/pages/html_test_1
    • localhost:3000/pages/html_test_2
    • localhost:3000/pages/html_test_3
    • localhost:3000/pages/html_test_4

 

Abra o arquivo config/routes.rb pelo VSCode

  • Inclua a linha abaixo no final do arquivo para direcionar a raiz da página para o controller pages e action html_test_1 criados anteriormente. Assim, a primeira página a ser exibida ao acessar seu site ou sistema será a página html_test_1, do controller pages. Caso contrário, iria exibir a página padrão do rails.
root "pages#html_test_1"
  • Você poderia ter ignorada a adição das rotas para as actions criadas de tivesse passado o parâmetro --skip-routes ao criar o controller. O comando completo passaria a ser rails g controller pages html_test_1 html_test_2 html_test_3 html_test_4 --skip-routes

 

Exibindo as Rotas do Rails

Exibir mais …

Usando o terminal, você pode exibir as rotas especificando um controller (com -c), por exemplo, do controller pages

$ rails routes -c pages
           Prefix Verb URI Pattern                  Controller#Action
pages_html_test_1 GET  /pages/html_test_1(.:format) pages#html_test_1
pages_html_test_2 GET  /pages/html_test_2(.:format) pages#html_test_2
pages_html_test_3 GET  /pages/html_test_3(.:format) pages#html_test_3
pages_html_test_4 GET  /pages/html_test_4(.:format) pages#html_test_4

Ou pode exibir todas as rotas com

$ rails routes
             Prefix Verb URI Pattern                   Controller#Action
                         /assets                       Propshaft::Server
  pages_html_test_1 GET  /pages/html_test_1(.:format)  pages#html_test_1
  pages_html_test_2 GET  /pages/html_test_2(.:format)  pages#html_test_2
  pages_html_test_3 GET  /pages/html_test_3(.:format)  pages#html_test_3
  pages_html_test_4 GET  /pages/html_test_4(.:format)  pages#html_test_4
 rails_health_check GET  /up(.:format)                 rails/health#show
              (...)

Também é possível acessar as rotas pelo navegador usando o endereço http://127.0.0.1:3000/rails/info/routes. Não esqueça de iniciar o servidor de desenvolvimento com bin/dev ou o servidor rails padrão com rails server do diretório raíz do seu projeto. O servidor de desenvolvimento fica “escutando” alterações nos arquivos de javascript e nos arquivos de css para realizar o processamento necessário para disponibilizá-los aos usuários. Para que as alterações nestes arquivos sejam realizadas e visualizadas instantaneamente no navegador, é necessário instalar uma gema como a Rails Livre Reload.


Vamos criar quatro páginas com conteúdo HTML para testar os estilos CSS.

 

Insira o Conteúdo da Página para a actions html_test_1

Exibir mais …

Acesse o link https://github.com/dbohdan/classless-css/blob/master/screenshot-page.html e copie todo o conteúdo da tag main, conforme abaixo

  
  • Abra o arquivo app/views/pages/html_test_1.html.erb e cole o conteúdo copiado acima


Insira o Conteúdo da Página para a actions html_test_2

Exibir mais …

Acesse o link https://gist.github.com/tommaitland/5865229 e copie todo o conteúdo da tag

, conforme abaixo

A Sample Form Legend
Group of Checkboxes:
Group of Radios:
Datalist:
  • Abra o arquivo app/views/pages/html_test_2.html.erb e cole o conteúdo copiado acima


Insira o Conteúdo da Página para a actions html_test_3

Exibir mais …

Acesse o link https://github.com/cbracco/html5-test-page/blob/master/index.html e copie todo o conteúdo da

após , que possui o texto
      
      
  • Abra o arquivo app/views/pages/html_test_3.html.erb e cole o conteúdo copiado acima

Insira o Conteúdo da Página para a actions html_test_4

Exibir mais …

Acesse o link https://github.com/alexandersandberg/html5-elements-tester/blob/master/index.html e copie todo o conteúdo de

 
  • Abra o arquivo app/views/pages/html_test_4.html.erb e cole o conteúdo copiado acima

Altere a Página app/views/layouts/application.html.erb para Incluir um Link para as Páginas html_test_1, html_test_2, html_test_3 e html_test_4

Exibir mais …
  • Altere o conteúdo dentro de para que inclua um link para as páginas de teste do HTML, conforme copiado abaixo
  

    
/ / /


Inicie o Servidor do Rails e Veja o Feioso HTML Puro ?

Exibir mais …
  • Inicie o servidor de desenvolvimento do Rails com bin/dev ou o servidor padrão com rails server e abra o navegador no endereço 127.0.0.1:3000
$ bin/dev
=> Booting Puma
=> Rails 8.0.0.1 application starting in development
=> Run `bin/rails server --help` for more startup options
Puma starting in single mode...
* Puma version: 6.5.0 ("Sky's Version")
* Ruby version: ruby 3.3.6 (2024-11-05 revision 75015d4c1f)  YJIT [x86_64-linux]
*  Min threads: 3
*  Max threads: 3
*  Environment: development
*          PID: 98083
* Listening on http://127.0.0.1:3000
* Listening on http://[::1]:3000
Use Ctrl-C to stop
  • Após abrir a página você verá no topo os quatro links que adicionamos para as páginas html_test_1, html_test_2, html_test_3 e html_test_4 que criamos anteriormente.
  • Tanto trabalho até aqui. Abra cada uma delas e você notará que o HTML ainda não foi estilizado com nenhum CSS, o que faremos logo a seguir


Abra Novamente a Página app/views/layouts/application.html.erb para Incluir os Estilos CSS sem Classe via CDN

Exibir mais …
  • Após o conteúdo abaixo
    
    
    
  • E antes de , cole o conteúdo a seguir. Você não precisa de todos esses estilos, eles foram inseridos para que você possa testar várias opções.
    
    
     pode ter margens ou fontes diferentes entre navegadores %>
    
    

    
    

    
     %>

    
     %>

    
     %>

    
     %>

    
     %>

    
     %>

    
    
    
     %>

    
     %>

    
     %>
      %>
  • A maioria dos estilos está comentada, exceto o Normalize CSS e o Pico CSS
  • Salve o arquivo e atualize a página ou reinicie o servidor


Agora sim, um HTML com Estilo ?

Após salvar as folhas de estilo acima e

Modo Dark

Alguns estilos possuem a opção para modo escuro (dark mode). Para confirmar, altere o tema do seu computador nas opções de personalizaç

Passos Seguintes

  • Organizar os estilos de acordo com sua preferência;
  • Se quiser gastar um pouco mais de tempo com o frontend, verifique as opções de customização do seu estilo favorito;
  • Atualizar dinamicamente no navegador as alterações feitas no projeto usando Rails Live Reload;
  • Usar estilização a partir de arquivos CSS do projeto, sem usar CDN;
  • Replicar a capacidade de framework classless CSS com Tailwind;

Referências

  • Teste

릴리스 선언문 이 기사는 https://dev.to/dailson_igoaraujopalhet/ruby-on-rails-frontend-com-framewors-classless-ouclassllight-css-3j4f?1에서 재현됩니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3