Ruby: Rails kontrolerių veiksmai

Ši dokumentacija yra Ruby mokymasis vadovo dalis. Visą vadovą rasite čia: Išsamus Ruby ir Rails vadovas.

👋 Sveiki atvykę į Stackhero dokumentaciją!

Stackhero siūlo paruoštą naudoti Ruby cloud sprendimą, kuris suteikia daugybę privalumų, įskaitant:

  • Įdiekite savo programą per kelias sekundes su paprastu git push.
  • Naudokite savo domeno vardą ir pasinaudokite automatiniu HTTPS sertifikatų konfigūravimu, kad padidintumėte saugumą.
  • Mėgaukitės ramybe su automatinėmis atsarginėmis kopijomis, vieno paspaudimo atnaujinimais ir paprasta, skaidria bei prognozuojama kainodara.
  • Gaukite optimalią veikimo ir tvirtą saugumą dėka privačios ir dedikuotos VM.

Taupykite laiką ir supaprastinkite savo gyvenimą: išbandyti Stackhero Ruby cloud hosting sprendimą užtrunka tik 5 minutes!

Kontroleriai veikia kaip tarpininkai tarp modelių ir vaizdų, priimdami gaunamas užklausas ir pateikdami tinkamus atsakymus. Šie pavyzdžiai iliustruoja bendrus kontrolerių veiksmus išteklių sąrašui, rodymui, kūrimui, atnaujinimui ir šalinimui:

  1. Index veiksmas (sąrašas visų objektų):

    def index
      @objects = ModelName.all
    end
    
  2. Show veiksmas (rodyti vieną objektą):

    def show
      @object = ModelName.find(params[:id])
    end
    
  3. New veiksmas (rodyti formą naujam objektui):

    def new
      @object = ModelName.new
    end
    
  4. Create veiksmas (išsaugoti naują objektą):

    def create
      @object = ModelName.new(params.require(:model_name).permit(:field1, :field2))
      if @object.save
        redirect_to @object
      else
        render :new
      end
    end
    
  5. Edit veiksmas (rodyti formą esamo objekto redagavimui):

    def edit
      @object = ModelName.find(params[:id])
    end
    
  6. Update veiksmas (taikyti pakeitimus esamam objektui):

    def update
      @object = ModelName.find(params[:id])
      if @object.update(params.require(:model_name).permit(:field1, :field2))
        redirect_to @object
      else
        render :edit
      end
    end
    
  7. Destroy veiksmas (pašalinti objektą):

    def destroy
      @object = ModelName.find(params[:id])
      @object.destroy
      redirect_to model_name_path
    end