sql >> Databasteknik >  >> RDS >> Mysql

Visa aktuell användares data och dess namn i den valda taggen

Jag vet inte varför du behöver ladda current_user i vald lista. Men du kan anpassa valet i användarmodellen enligt följande:

def user_for_select(user)
  self
    .where(id: user.id)
    .pluck("CASE WHEN id = #{user.id} THEN 'Me' ELSE name END AS name, id")
  end
end

Redigering beror på kommentar:

Lägg till följande metod i användarmodellen:

def is_manager?
   self.role == "manager"
end

Uppdatera sedan urvalet enligt följande:

def user_for_select(user)
  if user.is_manager?
      self
        .pluck("CASE WHEN id = #{user.id} THEN 'Me' ELSE name END AS name, id")
        .unshift(['All', 'all'])
  else
       self
         .where(id: user.id)
         .pluck("CASE WHEN id = #{user.id} THEN 'Me' ELSE name END AS name, id")
  end
end


  1. Hur man väljer det minsta värdet från flera kolumner med PHP

  2. Få innehållet i docx-filen som sparats i mysql dabase som blob-typ i php

  3. Hur installerar jag bara klientverktygen för PostgreSQL på Windows?

  4. Varför tar ActiveRecord destroy_all så lång tid?