Je dois écrire une méthode qui retourne si oui ou non un booléen est défini sur vrai/faux.rails, méthode, j'ai besoin d'aide
Dans mon cas, le booléen est un attribut pour un produit. Et pour sauter une étape dans le processus de paiement que je dois avoir cette méthode d'auto travail similaire à ce qui suit:
def current_user
return @current_user if defined?(@current_user)
@current_user = current_user_session && current_user_session.user
end
cet exemple est de la application_controller, et est en train de faire la même chose dans le processus de paiement que je dois fais ici.
L'utilisation pour cette fois que je l'ai travail est:
def checkout_steps
checkout_steps = %w{registration billing shipping shipping_method payment confirmation}
checkout_steps.delete "registration" if current_user
checkout_steps
end
je besoin d'un booléen qui fonctionne comme l'élément suppression ci-dessus. J'essaie d'apprendre comment cela fonctionne donc toute explication est grandement appréciée.
pensées?
Encore plus lisible serait 'checkout_steps.delete 'shipping' sauf si @ product.can_be_shipped'. –
Je pense que vous êtes sur la bonne voie, et merci beaucoup pour votre aide. J'ai travaillé sur cette question pour longtemps (le temps d'arrêter d'être un newb).Dans ce cas, j'ai un attribut de promotions sur le produit. Si le booléen Promotions est coché, je ne veux pas facturer l'expédition, ce qui supprime l'étape d'expédition. faire ce que vous avez écrit; checkout_steps.delete "shipping_method" si! @product.promotion renvoie une erreur no method lors de la promotion. C'est la raison pour laquelle j'ai pensé qu'il serait bon de tirer d'une méthode application_controller pour qu'elle soit disponible n'importe où. D'autres pensées? –
Voulez-vous dire 'if! @ Product.promotions', pluriel? – meagar