Best practice per aggiungere allegati polimorfici a un post

1

Attualmente sto cercando di capire come risolvere il seguente problema:

Ho un modello chiamato Post che ha, tra gli altri attributi, link_1_text , link_1_url , link_2_text e link_2_url per gli utenti per aggiungere link ai loro post ed etichettarli come :

  • 'Trovaci qui' / 'maps.google.com/something'
  • "Il nostro Facebook" / "facebook.com/example.com"

Quindi quello che vogliamo ora è avere, invece del link_X_url :

  • un documento PDF (caricato)
  • una galleria fotografica (caricata)
  • mostra un modulo (html statico)
  • un link di youtube

ecc.

La mia prima idea era questa, ma non ne sono felice:

PostAttachment : id , post_id , attachment_type , title , text , url , document

attachment_types : [ link , pdf , form , text , youtube ]

che funzionerà quindi come:

  • link : rendering url (come ora)
  • pdf : rendering document
  • modulo : visualizza il file html statico
  • testo : rendering text
  • youtube : rendering url in un iframe

Questo è tutto tranne un approccio accurato a questo, quindi: come posso mantenerlo il più generico possibile, ma comunque bello + pulire codewise.

    
posta Cojones 01.08.2018 - 17:34
fonte

1 risposta

1

Definisci una struttura con due campi, un blob per i dati e un tipo di media internet.

arg = Struct.new(:data, :media_type)

Utilizza i tipi di media da IANA

    
risposta data 01.08.2018 - 17:42
fonte

Leggi altre domande sui tag