--- title: 'Pequeño blog' --- Crear el proyecto: ```bash rails new lil_blog -d postgresql ``` Crear la base de datos: ```bash rails db:create ``` >Cambiar los valores de conexión en database.yml Crear el modelo post: ```bash rails g model post title description ``` Crear el controlador con los métodos que necesitan vistas: ```bash rails g controller posts index show new edit ``` Modificamos las rutas: ```ruby= Rails.application.routes.draw do # get 'posts/index' # get 'posts/show' # get 'posts/new' # get 'posts/edit' resources :posts # Defines the root path route ("/") root "posts#index" end ``` Ejecutamos la migración: ```bash rails db:migrate ``` Agregamos los strong params: ```ruby=3 private def set_post @post = Post.find(params[:id]) end def post_params params.require(:post).permit(:title, :description) end ``` Agregamos el método create: ```ruby=15 def create @post = Post.new(post_params) respond_to do |format| if @post.save format.html { redirect_to post_url(@post), notice: "Post fue creado correctamente"} format.json {render :show, status: :created, location: @post} else format.html{render :new, statu: :unprocessable_entity} format.json {render json: @post.errors, status: :unprocessable_entity} end end end ``` Agregamos el método update: ```ruby=32 def update respond_to do |format| if @post.update(post_params) format.html { redirect_to post_url(@post), notice: "Update Post"} format.json { render :show, status: :ok, location: @post} else format.html { render :edit, status: :unprocessable_entity} format.json { render json: @post.errors, status: :unprocessable_entity} end end end ```