Ruby

28 de Fevereiro de 2024 - @Walmir Neto


Há uns anos quando descobrir a existência do jQuery eu achei maravilhoso, hoje em dia depois de tantos framework moderno deixei de usar ele, há uns dias, soube da noticia que ele não está morto e por incrível que pareça OU não, eles anunciaram que estão trabalhando na V4:

jQuery 4.0.0 BETA!

Na hora que vi isso pensei em fazer um testes do https://github.com/rails/rails mais novo com a versão mais estável do https://github.com/jquery/jquery e por isso que estou aqui hoje

Criando projeto Rails

Vou criar o um projeto rails usando --minimal só para e tirando o máximo de dependências possíveis

rails new rails-jquery --skip-activerecord --minimal --skip-system-test --skip-test --skip-docker

Vou fazer já o primeiro commit no projeto

cd rails-jquery && git add -A && git commit -m "Create project :)"

Vamos criar uma home page, para o projeto

bin/rails g controller home page

No routes.rb vamos fazer essa substituição

--- a/config/routes.rb
+++ b/config/routes.rb
@@ -6,5 +6,5 @@ Rails.application.routes.draw do
   get "up" => "rails/health#show", as: :rails_health_check
 
   # Defines the root path route ("/")
-  # root "posts#index"
+  root "home#page"
 end

Adicionando https://github.com/jquery/jquery

Hoje em dia sempre tem um gerenciador de pacotes, seja qual for a lib, framework ou linguagem que você esteja usando, mas nem sempre vou assim

Antigamente o que precisávamos fazer era colocar a dependências no projeto e uma que era comum há uns 10-15 anos era só adicionar o arquivo no projeto OU chamar um CDN que hoje em dia é comum, mas o que vou fazer aqui é adicionar o jQuery na pasta public/vendor/jquery.min.js e você pode pegar o conteúdo nesse link. Já no arquivo app/views/layouts/application.html.erb e outro vou adicionar:

--- a/app/views/layouts/application.html.erb
+++ b/app/views/layouts/application.html.erb
@@ -7,6 +7,7 @@
     <%= csp_meta_tag %>
 
     <%= stylesheet_link_tag "application" %>
+    <%= javascript_include_tag "/javascript/vendor/jquery.min" %>
+    <%= javascript_include_tag "/javascript/application" %>
   </head>
 
   <body>

Ai no arquivo public/javascript/aplication.js vamos precisar adicionar em nosso código: