"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > रूबी ऑन रेल्स फ्रंट-एंड एक्सेलेरेशन: क्लासलेस या क्लासलाइट सीएसएस फ्रेमवर्क

रूबी ऑन रेल्स फ्रंट-एंड एक्सेलेरेशन: क्लासलेस या क्लासलाइट सीएसएस फ्रेमवर्क

2025-04-14 को पोस्ट किया गया
ब्राउज़ करें:228

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-hrails-frontend-com-frameworkss-slassless-ou-classlight-cs-3j4f?1 यदि कोई उल्लंघन है, तो कृपया इसे हटा दें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3