我需要編寫一個方法,返回布爾值是否設置爲true/false。rails,方法,我需要幫助
在我的情況下,布爾值是產品的屬性。而跳過在結賬過程中的一步,我需要有這種類似以下自方法工作:
def current_user
return @current_user if defined?(@current_user)
@current_user = current_user_session && current_user_session.user
end
這個例子是從application_controller,並且是做在結賬過程中,同樣的事情,我需要在這裏做。
這一次我有工作的使用方法是:
def checkout_steps
checkout_steps = %w{registration billing shipping shipping_method payment confirmation}
checkout_steps.delete "registration" if current_user
checkout_steps
end
我需要工作與上面相同的刪除項的布爾值。我正試圖學習如何工作,所以任何解釋都非常感謝。
想法?
更可讀性會是'checkout_steps.delete'shipping',除非@ product.can_be_shipped'。 – 2010-03-01 21:46:39
我想你們都走在正確的軌道上,非常感謝您的幫助。在這個問題上長時間工作(時間停止成爲一個新手)。在這種情況下,我在產品上有促銷屬性。如果促銷布爾值被選中,我不想收取運費,因此取消了運送步驟。 做你寫的東西; checkout_steps.delete「shipping_method」if [email protected]在促銷時返回無方法錯誤。這就是我認爲從application_controller方法拉出來以便它可以在任何地方可用的原因。任何其他的想法? – 2010-03-01 21:56:45
您的意思是「if!@ product.promotions',複數? – meagar 2010-03-01 22:13:42