RESTful routing är ett grundläggande koncept i Ruby on Rails som förenklar implementeringen av CRUD-operationer (Create, Read, Update, Delete) i webbapplikationer. I den här artikeln kommer vi att dyka in i RESTful routing i Rails med praktiska kodexempel för att hjälpa dig att förstå och implementera det effektivt i dina projekt.
Förstå RESTful Routing i Rails
RESTful routing bygger på idén att webbapplikationer ska följa en uppsättning konventioner för att hantera olika typer av förfrågningar. Dessa konventioner mappar HTTP-verb (GET, POST, PUT, DELETE) till kontrollernas åtgärder och gör din applikations beteende mer förutsägbart och konsekvent.
1. Skapa en resurs
Låt oss börja med att skapa en enkel resurs, säg "artiklar".
# terminal
skenor genererar ställning Artikeltitel:strängkropp:text
Detta kommando genererar en ny resurs, inklusive en styrenhet (ArticlesController) och vyer för CRUD-operationer.
2. Indexera och visa åtgärder
Indexåtgärden listar alla artiklar, och showåtgärden visar en specifik artikel.
# app/controllers/articles_controller.rb
class ArticlesController < ApplicationController
def index @artiklar = Article.all
slutet
def show
@artikel = Article.find(params[:id])
slutet
slutet
3. Nya och skapa åtgärder
Den nya åtgärden visar ett formulär för att skapa en ny artikel, medan åtgärden skapa hanterar formulärinlämningen och skapar en ny post i databasen.
# app/controllers/articles_controller.rb
class ArticlesController < ApplicationController
# …
def ny
@artikel = Artikel.ny
slutet
def skapa
@artikel = Article.new(article_params)
om @artikel.spara
redirect_to @artikel
annan
gör "ny"
slutet
slutet
privat
def article_params
params.require(:article).permit(:title, :body)
slutet
slutet
4. Redigera och uppdatera åtgärder
Redigeringsåtgärden visar ett formulär för uppdatering av en befintlig artikel, och uppdateringsåtgärden hanterar formulärinlämningen och uppdaterar artikelposten.
# app/controllers/articles_controller.rb
class ArticlesController < ApplicationController
# …
def redigera
@artikel = Article.find(params[:id])
slutet
def uppdatering
@artikel = Article.find(params[:id])
om @article.update(article_params)
redirect_to @artikel
annan
rendera "redigera"
slutet
slutet
# …
slutet
5. Förstör Action
Förstör-åtgärden tar bort en artikel från databasen.
# app/controllers/articles_controller.rb
class ArticlesController < ApplicationController
# …
def förstöra
@artikel = Article.find(params[:id])
@artikel.förstör
redirect_to articles_path
slutet
slutet
6. Ruttkonfiguration
I din config/routes.rb-fil genererar Rails automatiskt RESTful-rutter för din resurs.
# config/routes.rb
Rails.application.routes.draw gör
resurser: artiklar
# …
slutet
Med dessa rutter stöder din Rails-applikation nu alla standard CRUD-operationer för artiklar.
Slutsats
RESTful routing i Rails ger ett strukturerat och effektivt sätt att hantera CRUD-operationer i dina webbapplikationer. Genom att följa dessa konventioner och använda kodexempel som de som ges i den här artikeln kan du snabbt skapa kraftfulla och underhållbara webbapplikationer med Ruby on Rails.