Ich habe eine Show-Seite für meine Benutzer und jedes Attribut sollte nur auf dieser Seite sichtbar sein, wenn es nicht null und keine leere Zeichenfolge ist. Unten habe ich meinen Controller und es ist ziemlich ärgerlich, @user.city != nil && @user.city != ""
für jede Variable die gleiche Codezeile schreiben zu müssen . Ich bin nicht sehr vertraut mit dem Erstellen eigener Methoden, aber kann ich irgendwie eine Verknüpfung erstellen, um so etwas zu tun : @city = check_attr(@user.city)
? Oder gibt es eine bessere Möglichkeit, dieses Verfahren zu verkürzen?
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
if @user && @user.authenticated
if @user&.authenticated