Mysql
 sql >> база данни >  >> RDS >> Mysql

Показване на текущите потребителски данни и името му в тага за избор

Не знам защо трябва да зареждате current_user в списъка за избор. Но можете да персонализирате избора в потребителския модел по следния начин:

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

Редактиране зависи от коментара:

Добавете следния метод в потребителския модел:

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

След това актуализирайте селекцията по следния начин:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL тригер при събития за вмъкване/актуализация

  2. Смущаващо аритметично поведение на php/Mysql Time

  3. Как да конвертирам скрипт с помощта на mysql_ функции, за да използвам mysqli_ функции?

  4. Колоната за фатална грешка на AJAX не може да бъде нула

  5. SQL за получаване на отделен запис за комбинация от две колони (независимо от реда)