sql >> Databáze >  >> RDS >> PostgreSQL

Jak mapovat celočíselný atribut modelu na řetězec?

Zkontrolujte enum z ActiveRecorddoc .

Zde můžete nakonfigurovat svůj :status :

class Hotel < ActiveRecord::Base
  enum status: { waiting_contract: 1, designing: 2 }

  def format_status
    status.to_s.humanize
  end
end

Vytvoří takové metody:

hotel.waiting_contract?
hotel.designing?

hotel.waiting_contract!
hotel.format_status # => "Waiting contract"

Doufám, že to pomůže!

AKTUALIZACE

Podobné funkce lze dosáhnout přepsáním status samotná metoda, i když se doporučuje mít samostatné metody:

class Hotel < ActiveRecord::Base
  enum status: { waiting_contract: 1, designing: 2 }

  def status
    super.to_s.humanize
  end
end

Kromě toho dekorátoři jsou něco, co byste se měli podívat na metody specifické pro zobrazení.



  1. Seskupení dotazů MySql podle času

  2. Je možné vyhledat celé zadané slovo ve Fulltextovém vyhledávání mysql

  3. Klauzule USING v orákulu 11g

  4. Jak vytvořím tabulku založenou na jiné tabulce