Blocuri editabile în pagină (nu sunt legate de model - legate de SEO) în Ruby on Rails

Oamenii mei SEO nu scriu cod. Tot ce le place este crearea de texte bune. Tot ce pot face este să lipiți textele prin intermediul unor forme frumoase.

Problema este că uneori mă întreabă: trebuie să punem textul în subsolul paginii. Trebuie să punem un alt text în antetul paginii.

Și nu pot edita codul de fiecare dată când SEO-om mă întreabă!

Și uneori textul nu are legătură directă cu modelul. Cred că veți înțelege că este o idee proastă de a crea un câmp footer_block în interiorul unui model Mașină sau Persoană .

Cât de frumos ar fi dacă ar exista o bijuterie care ar putea:

  1. Încărcați datele de text din baza de date cu ajutorul tastei (de exemplu "FOOTER_BLOCK"). Să mă lase să nu transform din modele într-o mizerie!
  2. Oferiți-ne formulare în care o persoana SEO ar putea lipi textul
  3. (Ar fi frumos) Dă-ne un editor WISIWIG.

PS: Un exemplu de astfel de funcționalități (dar nu în Ruby): obișnuiau să cod în Python/Django. Și am folosit pachetul django-flatblocks - acesta a corespuns acestor 3 criterii.

0
Scriind un răspuns pentru tine
adăugat autor Richard Peck, sursa

1 răspunsuri

Nu știu nici o bijuterie care să facă acest lucru, dar, sperăm, pot să arunc o lumină asupra felului în care ați putea să o realizați


Blocări de coduri

Ați putea crea un tabel (și un model) numit code_blocks . Schema poate arăta astfel:

code_blocks
id | title | body | created_at | updated_at

Acest lucru vă va permite să creați orice număr de înregistrări în acest tabel dorit și apoi să le apelați din aplicația dvs. fără a fi nevoie de acțiuni specifice ale controlorului


Afișare

Ai putea face asta:

#app/helpers/application_helper.rb
def code_block(id)
    block = CodeBlock.find(id)
    return block.body
end

Acest lucru poate fi ineficient, dar vă va permite să includeți blocurile de cod oriunde doriți pe pagină, independent de acțiunile controlerului

Deci, de exemplu, aveți un bloc de subsol cu ​​id ca 3, ați putea pune:

<%= code_block(3) %>

Editare

Acest lucru va însemna că, dacă aveți un formular simplu de backend, îl puteți configura astfel încât să listați blocurile după titlu și să permiteți tipilor SEO să editeze codul HTML cu un editor WYSIWYG (salvarea codului HTML în corp )

0
adăugat
Mulțumiri! Dar eu încă mai doresc dacă ar exista o bijuterie care ma ajutat să evit codarea (chiar și simple backends). Hei, aș putea folosi ActiveAdmin sau ceva de genul asta! :)
adăugat autor Nikita Hismatov, sursa