मेरे पास मेरे उपयोगकर्ताओं के लिए एक शो पेज है और प्रत्येक विशेषता केवल उस पृष्ठ पर दिखाई देनी चाहिए, अगर यह शून्य नहीं है और खाली स्ट्रिंग नहीं है। नीचे मेरे पास नियंत्रक है और यह प्रत्येक चर के लिए कोड @user.city != nil && @user.city != ""
कोड की एक ही पंक्ति लिखना काफी परेशान है। मैं अपनी खुद की विधियों को बनाने से बहुत परिचित नहीं हूं, लेकिन क्या मैं इस तरह कुछ करने के लिए शॉर्टकट बना सकता हूं: @city = check_attr(@user.city)
? या क्या इस प्रक्रिया को कम करने का एक बेहतर तरीका है?रेल शॉर्टकट में शून्य नहीं है और खाली नहीं है?
users_controller.rb
def show
@city = @user.city != nil && @user.city != ""
@state = @user.state != nil && @user.state != ""
@bio = @user.bio != nil && @user.bio != ""
@contact = @user.contact != nil && @user.contact != ""
@twitter = @user.twitter != nil && @user.twitter != ""
@mail = @user.mail != nil && @user.mail != ""
end
नोट, रुबी 2.3.0 के रूप में आप कई से छुटकारा पा सकते हैं लोनली ऑपरेटर का उपयोग करके अनावश्यक शून्य जांच, 'if @user &&@ user.authenticated' जैसी कुछ' बस @ उपयोगकर्ता और। प्रमाणीकृत 'हो सकती है –