Kullanıcılarım için bir gösterim sayfam var ve her bir özellik yalnızca o sayfada görünmemeli, boş değilse ve boş bir dize değilse. Aşağıda benim denetleyicim var ve her değişken için aynı satır @user.city != nil && @user.city != ""
yazmak zorunda oldukça sinir bozucu. Kendi yöntemlerimi oluşturma konusunda fazla aşina değilim, ancak bir şekilde böyle bir şey yapmak için bir kısayol oluşturabilir miyim: @city = check_attr(@user.city)
? Yoksa bu prosedürü kısaltmanın daha iyi bir yolu var mı?Rails kısayolunda boş olup olmadığını kontrol et.
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
Not, Ruby 2.3.0 olarak, pek çok kurtulmak olabilir gereksiz nil yalnız işleç kullanarak kontrol eder, bir şey gibi eğer @ user && @ user.authenticated' basitçe 'if @ user & .authenticated' olabilir –