Rails Insights

Rheoli Negeseuon Flash yn Rails

Mae rheoli negeseuon flash yn Ruby on Rails yn rhan bwysig o greu profiad defnyddiwr da. Mae negeseuon flash yn caniatáu i chi ddangos negeseuon dros dro i ddefnyddwyr, fel pan fyddant yn cwblhau gweithred, fel cofrestru neu ddileu eitem. Yn yr erthygl hon, byddwn yn archwilio sut i ddefnyddio negeseuon flash yn Rails, gan gynnwys sut i'w creu, eu harddangos, a'u dileu.

Beth yw Negeseuon Flash?

Mae negeseuon flash yn negeseuon dros dro sy'n cael eu storio yn y sesiwn, sy'n golygu eu bod ar gael am un cais yn unig. Mae hyn yn eu gwneud yn berffaith ar gyfer dangos negeseuon sy'n gysylltiedig â gweithred benodol, fel llwyddiant neu fethiant. Mae Rails yn darparu dulliau syml i greu a rheoli negeseuon flash.

Sut i Ddefnyddio Negeseuon Flash

Mae defnyddio negeseuon flash yn hawdd. Mae angen i chi ddefnyddio'r dulliau a gynhelir gan Rails i greu, darllen, a dileu negeseuon flash. Dyma'r camau sylfaenol:

# Creu negeseuon flash
flash[:notice] = "Cofrestru wedi llwyddo!"
flash[:alert] = "Mae rhywbeth wedi mynd o'i le."

Yn y cod uchod, rydym yn creu dau negeseuon flash: un ar gyfer llwyddiant (notice) a un ar gyfer methiant (alert). Mae'r negeseuon hyn yn cael eu storio yn y sesiwn a byddant ar gael yn y cais nesaf.

Harddangos Negeseuon Flash

Ar ôl creu negeseuon flash, mae angen i chi eu harddangos yn eich ffeiliau golygu. Mae hyn fel arfer yn digwydd yn y ffeil application.html.erb neu yn y ffeil golygu penodol ar gyfer y dudalen. Gallwch ddefnyddio'r cod canlynol i ddangos negeseuon flash:

<% flash.each do |key, message| %>
  
<%= message %>
<% end %>

Mae'r cod hwn yn mynd trwy bob negeseuon flash a'i harddangos yn y fformat priodol. Mae'n bwysig defnyddio dosbarthiadau CSS i wneud y negeseuon yn amlwg i'r defnyddiwr.

Defnyddio CSS i Harddangos Negeseuon Flash

Gallwch ddefnyddio CSS i wneud eich negeseuon flash yn edrych yn well. Dyma enghraifft o CSS syml:

.flash {
  padding: 10px;
  margin: 10px 0;
  border-radius: 5px;
}

.flash.notice {
  background-color: #d4edda;
  color: #155724;
}

.flash.alert {
  background-color: #f8d7da;
  color: #721c24;
}

Mae'r CSS uchod yn rhoi cefndir gwyrdd i negeseuon llwyddiant a chefnogaeth coch i negeseuon methiant, gan wneud iddynt sefyll allan yn y dudalen.

Dileu Negeseuon Flash

Unwaith y bydd y negeseuon flash wedi'u harddangos, maent yn cael eu dileu'n awtomatig ar ôl i'r cais nesaf gael ei wneud. Fodd bynnag, os ydych am ddileu negeseuon yn gynnar, gallwch ddefnyddio'r dull flash.discard fel hyn:

flash.discard(:notice)

Mae hyn yn dileu'r negeseuon flash penodol o'r sesiwn, gan ei gwneud yn anweledig yn y cais nesaf.

Defnyddio Negeseuon Flash gyda Ffurflenni

Mae negeseuon flash yn arbennig o ddefnyddiol pan fyddwch yn gweithio gyda ffurflenni. Gallwch ddefnyddio negeseuon flash i ddangos negeseuon llwyddiant neu fethiant yn seiliedig ar ganlyniad gweithred y ffurflen. Dyma enghraifft o sut i wneud hyn:

def create
  @user = User.new(user_params)
  if @user.save
    flash[:notice] = "Cofrestru wedi llwyddo!"
    redirect_to @user
  else
    flash[:alert] = "Mae rhywbeth wedi mynd o'i le."
    render :new
  end
end

Yn yr enghraifft hon, os yw'r defnyddiwr yn cael ei greu'n llwyddiannus, bydd negeseuon llwyddiant yn cael eu harddangos. Os yw'n methu, bydd negeseuon methiant yn cael eu harddangos, gan adael i'r defnyddiwr wneud newidiadau i'r ffurflen.

Negeseuon Flash a JavaScript

Os ydych am wneud negeseuon flash yn fwy rhyngweithiol, gallwch ddefnyddio JavaScript i ddileu negeseuon ar ôl amser penodol. Dyma enghraifft o sut i wneud hyn:


Mae'r cod JavaScript hwn yn dileu negeseuon flash ar ôl 5 eiliad, gan wneud y profiad defnyddiwr yn fwy cyfeillgar.

Casgliad

Mae rheoli negeseuon flash yn Ruby on Rails yn broses syml sy'n gallu gwneud gwahaniaeth mawr i brofiad y defnyddiwr. Trwy ddefnyddio negeseuon flash, gallwch ddangos gwybodaeth bwysig i ddefnyddwyr yn hawdd, gan wella'r rhyngweithio â'ch ap. Mae'n bwysig cofio defnyddio dosbarthiadau CSS i wneud y negeseuon yn amlwg ac ystyried defnyddio JavaScript i wneud y negeseuon yn fwy rhyngweithiol.

Gobeithio bod yr erthygl hon wedi rhoi gwybodaeth ddefnyddiol i chi am sut i reoli negeseuon flash yn Rails. Peidiwch ag oedi i archwilio a phrofi'r dulliau hyn yn eich prosiectau Rails!

Published: August 12, 2024

© 2024 RailsInsights. All rights reserved.