7JFX͕͖ͬ͢Γʂ # before - if @user.paid_member? && @product.member_only_discount? = @product.discount_price - else = @product.price - end # after = @product_presenter.price
$POUSPMMFS͕͖ͬ͢Γʂ # before if params[:confirmed] == "1" # ... else # ... end # after @event_cancellation_form = EventCancellationMessageForm.new(cancellation_message_params) # パラメータチェックが複数あってもFormModel内で処理できる if @event_cancellation_form.valid? # ... end
4FSWJDF0CKFDUͷఆٛ # service_object class EventCreateService def initialize(params) # ... end def call # ... end end # controller service = EventCreateService.new(event_params) service.call if service.success? # ... end
4FSWJDF0CKFDUͷఆٛ w ίϯετϥΫλҎ֎ɺQVCMJDϝιουجຊͻͱͭͷΈ w DBMMͱ͔FYFDVUFͱ͔ w $PNNBOEύλʔϯͬΆ͍ w ඞཁʹԠͯ͡εςʔτϦʔμʔΛఆٛ w $POUSPMMFSʹϕλॻ͖͞ΕͨϏδωεϩδοΫΛ 4FSWJDF0CKFDUʹఆٛͯ͠ɺ$POUSPMMFSΛ͖ͬ͢Γ
͋ͳͨͷαʔϏεͲͷαʔϏεʁ w ͦͦ&SJD&WBOTͷ%%%ຊͰͷαʔϏεఆ͕ٛ෯͍ w ΞϓϦέʔγϣϯαʔϏε w υϝΠϯαʔϏε w ΠϯϑϥετϥΫνϟαʔϏε w 1PG&""ͷαʔϏεϨΠϠʔ w ͍͍ײ͡ͷศརϝιουͱͯ͠4FSWJDF͕ΘΕΔ w ͜ͷΛҙ͍ࣝͯ͠ͳ͍ͱɺ͕͔Έ߹Θͳ͍
4FSWJDF0CKFDUͷֶͼ w 4FSWJDFͷڞ௨ೝࣝΛνʔϜͰڞ༗͓ͯ͘͠ w ڞ௨ͨ͠ਖ਼ղͱ͍͏ͷͳͦ͞͏ w ஔ໋໊͖نଇɺΠϯλʔϑΣʔεΛͪΌΜͱඋ ͠Α͏ w 4FSWJDFബ͘ɻ͋͘·Ͱओ.PEFM w υϝΠϯϩδοΫɺ.PEFMʹۃྗ࣋ͨͤͯɺ4FSWJDF 0CKFDUͦΕΛݺͼग़͚ͩ͢ʹ͠Α͏