Ich erlaube meinen Benutzern, Aufgaben zu erstellen und sie an ihre Mitarbeiter zu verteilen. Zuweisungen haben ein Attribut namens description. Anstatt Benutzer ein einfaches Textfeld auszufüllen, um eine Beschreibung zu erstellen, möchte ich ihnen eine editierbare Markdown-unterstützte Box geben, um sie auszufüllen. Genau wie die, die ich gerade ausfülle. Ich habe noch nie so etwas gebaut, aber ich frage mich, ob es ein Ruby-Juwel oder ein Plugin gibt, das mir dabei helfen wird?Unterstützung Markdown-Bearbeitung in Schienen App
Antwort
Ich kann Ihnen SimpleMDE Javascript Abschlags Redakteur. In diesem Fall benötigen Sie keinen Ruby-Edelstein für Markdown, da SimpleMDE HTML-Version für Sie generieren kann. Sie müssen nur in Ihrer Datenbank beide Versionen speichern - Markdown und HTML.
Wir haben Tabelle assignments
mit zwei Feldern description
, um eine Abschriftversion zu behalten und description_html
, um eine HTML-Version einer Frage zu behalten. So weit Sie das Formular für Common-Rail-Zuweisungen erstellen und die SimpleMde-Instanz an description
textarea binden. Für description_html
verstecktes Feld Tag erstellen:
<%= f.hidden_field :description_html %>
<%= f.textarea :description %>
Auf jeder Änderung simplemde wird eine HTML-Version zu description_html
verstecktem Feld speichern:
var simplemde = new SimpleMDE({ element: $("#MyID")[0] });
simplemde.codemirror.on("change", function(){
# set a html to a hidden field
$('#description_html_id_CHANGE_IT').val(simplemde.getHtmlValue());
});
Ich schlage vor, verwenden Sie Github ist gem dafür: https://github.com/github/markup
Zuerst ein paar Edelsteine installieren:
- Github/Markup
- html-Pipeline
- nokogiri
- nokogiri-diff
Dann versuchen Sie Folgendes:
require "github/markup"
require 'html/pipeline'
require 'nokogiri'
require 'nokogiri/diff'
filename = ARGV.first
puts GitHub::Markup.render(filename, File.read(filename)).strip.force_encoding("utf-8")
- 1. Kategorien in Schienen App
- 2. Mehrsprachige Unterstützung in Universal App
- 3. Does Schienen Unterstützung mysql json Datentyp
- 4. Benutzerdefinierte URLs in Schienen App
- 5. deploy Schienen App Heroku
- 6. Google App Engine PIL Unterstützung
- 7. Git Halbierung Schienen App
- 8. iPad-Unterstützung von App entfernen
- 9. Multi-Prozess-Unterstützung in der gleichen App?
- 10. Erstellen einer App mit Plug-in-Unterstützung
- 11. make app ohne Multitasking-Unterstützung
- 12. Ich kann nicht Mauerwerk-Schienen gem in meinen Schienen-app
- 13. Schienen neue App Anzeige Fehler
- 14. Slick Slider für Schienen App
- 15. Schienen App Belastungstest mit Jmeter
- 16. Hintergrund Arbeiter sehen Kommunikation in Schienen App
- 17. Autospec mit Gurke in Schienen App
- 18. tweet diesen Link in Schienen app
- 19. Unterverzeichnis in nginx für Schienen api-app
- 20. Twitter-Authentifizierung in Schienen App - Abmeldung
- 21. Memory Leak in Schienen App ... String Albtraum
- 22. uninitialized konstanter Capybara (Nameerror) in Schienen app
- 23. Formular Parameter unpermitted von in Schienen-app
- 24. bootstrap navbar und taste in schienen app
- 25. Spree Kategorie Seiten in benutzerdefinierten Schienen App
- 26. Javascript history.back() funktioniert nicht in Schienen App
- 27. Keine Methode Fehler in Schienen 3 app
- 28. Modify Devise Standard Fehlermeldungen in Schienen App
- 29. Schienen-Geocoder Umweltproblem in Rails 3 app
- 30. Erstellen einer Multi-Location-App in Schienen
Sich auf Javascript verlassen, um HTML zu generieren und "vertrauend", dieses HTML, um sicher zu sein, ist nicht die beste Idee. – yoones
@yoones Wyswig-Editoren generiert auch HTML-Code und ihre überall verwendet. Natürlich sollte ein sicherer Code einen HTML-Code bereinigen. –
Das sieht gut aus. Eine Frage, wie genau kann ich diesen Wert in der Datenbank speichern? – Bitwise