ls
cd BootcampROR
rails new clon_twitter -d postgresql
ls
cd clon-twitter
git add .
git commit -m "primer commit"
code .
git init
7. Inicializar postgresql desde terminal vscode y dejar corriendo (renombrar a terminal postgresql):
sudo service postgresql start
rails db:create
-
modelo (Primera letra Mayusculas y palabra en singular)
-
atributos del modelo (clave:valor)
-
trabajar siempre en ingles
rails g scaffold Tweet description:text
-
userName (si no se define es string)
- se genera en la carpeta db, debe contener el formato asignado al scaffold
rails db:migrate
- en config -> routes debe aparecer resources con modelo en minuscula y plural, tweets
- en routes descomentar y cambiar articles, dejar modelo generado en plural root "tweets#index" guardar
rails s
- localhost 3000
en app -> controllers aparece controller creado tweets_controller.rb
git add.
git commit -m "mensaje"
-
sync changes o git pull
- en gemfile agregar al final comentario
#Gemas agregadas por mi gem 'faker'
-
guardar
bundle
-
en carpeta bd -> seeds.rb
-
al final del archivo agregar texto: puts "Creating tweets..."
escribir accion y logica aqui
-
guardar
escribirlos igual en la logica del archivo seeds creado con la fecha actual...
rails db:seed
aparecerá el mensaje por consola creado Creating tweets...
localhost:3000
- en seeds.rb
10.times do
- detener rails server
ctrl c
24. Al cambiar la cantidad de datos a 500 debemos resetear la base de datos, desde terminal ejecutar:
rails db:reset
rails s
desde terminal ejecutar:
git add .
git commit -m "feat: Faker"
-
Ir al archivo Gemfile y editar al final donde agrego mis gemas agregadas
-
Guardar cambios Gemfile
-
Ejecutar bundle para agregar gema
bundle
-
buscar controller -> ctrl p
-
application_controller.rb editar:
incluir bajo Class
include Pagy::Backend
-
guardar cambios
-
Buscar controller -> ctrl p
-
Incluir bajo module
include Pagy::Frontend
esto afectara a toda la app
ctrl p -> tweets_controller.rb
- incluir bajo @tweets = Tweet.all (comentar esta linea) #
@pagy, @tweets = pagy(Tweet.all)
views -> tweets -> index.html.erb
- pegar al final del archivo
<%== pagy_nav(@pagy) if @pagy.pages > 1%>
- guardar archivo
ctrl c
rails s
-
Pagy funcionando
_tweet.html.erb
application.html.erb
sobre
cdn js bootstrap sobre
application.html.erb
views -> tweets
agrego card bootstrap
abajo de dom_id tweet
copio datos especificos del pagina 1 tweet y los agrego a pagina principal de todos
config -> initializers
copiar documentación de github
crear archivo pagy.rb y pegar initializer de pagy
buscar en archivo pagy.rb "bootstrap"
y descomento extras de bootstrap
terminal rails server
rails s
views -> tweets -> index-html.erb
aplico formato segun documentación pagy_bootstrap_nav
en initializer pagy.rb
cambiar 20 por defecto a 10 desactivando comentario
reiniciar rails s para aplicar
eligo un navbar con buscador de bootstrap
en views -> creo carpeta shared -> creo archivo _navbar.html.erb
views -> layouts -> application.html.erb
sobre container
<%= render 'shared/navbar' %>
Envío calamar new tweet a navbar y lo edito
Agrego validacion desde backend (model)
bajo ApplicationRecord
Gemfile gem 'ransack'
terminal -> bundle