Mae ActiveRecord yn un o'r elfennau mwyaf pwerus o Rails, gan ei fod yn darparu ffordd hawdd o weithio gyda'r gronfa ddata. Un o'r nodweddion mwyaf defnyddiol yw'r callbackiau, sy'n caniatáu i chi weithredu cod penodol ar adegau penodol yn ystod bywyd yr model. Yn yr erthygl hon, byddwn yn archwilio sut i ddefnyddio callbackiau ActiveRecord, gyda enghreifftiau a chyngor ar sut i'w defnyddio'n effeithiol.
Mae callbackiau ActiveRecord yn ddigwyddiadau sy'n digwydd ar adegau penodol yn ystod bywyd model. Gallwch eu defnyddio i wneud pethau fel dilyn gweithrediadau cyn neu ar ôl creu, diweddaru, neu ddileu cofrestriadau. Mae'r rhain yn ddefnyddiol ar gyfer gweithgareddau fel dilyn cofrestriadau, gwirio cyfreithlondeb data, neu hyd yn oed anfon hysbysiadau.
Mae ActiveRecord yn cynnig nifer o callbackiau, gan gynnwys:
Mae defnyddio callbackiau yn syml. Mae angen i chi eu diffinio yn eich model. Dyma enghraifft o sut i ddefnyddio callbackiau yn eich model:
class User < ApplicationRecord before_save :normalize_name private def normalize_name self.name = name.downcase.titleize end end
Yn yr enghraifft hon, rydym yn defnyddio'r callback before_save i newid enw'r defnyddiwr i fod yn isafswm a thitlo cyn ei gadw i'r gronfa ddata.
Gallwch hefyd ddefnyddio callbackiau i wirio cyfreithlondeb data cyn ei gadw. Dyma enghraifft o sut i wneud hyn:
class Product < ApplicationRecord before_validation :check_price private def check_price if price.nil? || price < 0 errors.add(:price, "Mae'n rhaid i'r pris fod yn gadarnhaol.") end end end
Yn yr enghraifft hon, rydym yn defnyddio'r callback before_validation i wirio bod y pris yn gadarnhaol cyn i'r model gael ei wirio.
Gall callbackiau hefyd gael eu defnyddio i wneud gweithgareddau sy'n gysylltiedig â chydweithrediadau. Er enghraifft, os oes gennych gysylltiad rhwng modelau, gallwch ddefnyddio callbackiau i ddiweddaru cofrestriadau cysylltiedig. Dyma enghraifft:
class Order < ApplicationRecord has_many :line_items after_save :update_inventory private def update_inventory line_items.each do |item| item.product.decrement!(:stock, item.quantity) end end end
Yn yr enghraifft hon, ar ôl i'r gorchymyn gael ei gadw, rydym yn diweddaru'r stoc ar gyfer pob eitem yn y gorchymyn.
Er bod callbackiau yn ddefnyddiol, mae'n bwysig eu defnyddio'n ofalus. Dyma rai cyngor i'w hystyried:
Mae callbackiau ActiveRecord yn nodwedd pwerus sy'n eich galluogi i reoli gweithrediadau ar adegau penodol yn ystod bywyd model. Trwy ddefnyddio callbackiau, gallwch sicrhau bod eich data yn gywir, cynnal gweithgareddau cysylltiedig, a chreu profiad gwell i'r defnyddiwr. Cofiwch ddefnyddio callbackiau yn ofalus a chadw eich cod yn glir a chydlynol.
Gobeithio bod yr erthygl hon wedi rhoi gwybodaeth ddefnyddiol i chi am ddefnyddio callbackiau ActiveRecord yn Rails. Peidiwch ag oedi i archwilio a phrofi'r nodweddion hyn yn eich prosiectau!
© 2024 RailsInsights. All rights reserved.