¡Markitup!y los rieles 3.1 no juegues bien
-
29-10-2019 - |
Pregunta
¡Estoy tratando de hacer markitup! Trabajar con rieles 3.1, la magia ocurre dentro de My Posts Controller, así que lanzé el marcado JavaScript en activos / JavaScript y agregué en mis posts.js (por lo que solo se agregaría la vista de Publicaciones en las publicaciones)
$(document).ready(function() {
$(".markItUp").markItUp(mySettings);
});
En mis activos / hojas de estilo / posts.csss
.markItUpHeader ul .markItUpDropMenu {
background:transparent url(images/menu.png) no-repeat 115% 50%;
margin-right:5px;
}
más que cambio
images/menu.png to <% asset_path 'menu.png' %>
Así que obtendría la ruta de las imágenes de buenas asset_path
en el archivo jquery.markitup.js Cambié la ruta de la raíz a
options = {
root: '<%= asset_path 'jquery.markitup.js' %>'
Por lo tanto, no usará la función de MarkItup hecha para verificar el conjunto de raíces y usar mi raíz en lugar de
jquery.markitup.js.erb
// compute markItUp! path
if(!options.root) {
etc .... (does the markitup path computation for the .js file
Entonces obtendría el camino correcto al archivo JS principal mi archivo _form.html.erb es
<%= f.text_area :content, :class => 'markItUp' %>
Esto funciona, ya que muestra el área de texto con el ancho: 700px que se establece en POSTS.CSS.ERB
.markItUp {
width:700px;
etc ....
pero todavía nada más muestra o funciona, no tengo la barra de herramientas pequeña sobre mi área de texto para la edición de texto (B, Iten ...)
Gracias de antemano, Hetzi & Guy.
Documentación de Markitup: http://markitup.jaysalvat.com/documentation/
Solución
No estoy seguro, lo que no está funcionando para usted ... pero he logrado hacerlo trabajar en rieles 3.1. De lo que has publicado anteriormente, tengo un par de sospechas.
En primer lugar, en Rails 3.1, de lo que puedo decir en el día, por lo que ha sido desde que actualizé, IT (ROR 3.1) enruta de manera inteligente los archivos en: APP / ACTIVOS a las imágenes correspondientes, las hojas de estilo y la carpeta de Javascripts.
así que esto:
background:transparent url(images/menu.png) no-repeat 115% 50%;
debe ser:
background:transparent url(/assets/menu.png) no-repeat 115% 50%;
mi opción raíz se ha dejado a la predeterminada:
''
Además, no ha incluido el archivo Set.js (?) Para definir el marcado ... Si hace clic en el enlace a continuación, desplácese hacia abajo y haga clic en la pestaña 'JSON', verá lo que quiero decir.
http://markitup.jaysalvat.com/examples/html/
de mi propio proyecto (usando la secuencia de comandos de café y la configuración de un ejemplo de BBCode en la página de MarkItup):
myBbcodeSettings = {
previewParserPath: '', // path to your BBCode parser
markupSet: [
{name:'Bold', key:'B', openWith:'[b]', closeWith:'[/b]'},
...
{name:'Preview', className:"preview", call:'preview' }
]
}
$("#parent-element textarea").markItUp(myBbcodeSettings);
Finalmente, estaba teniendo un problema con eso que no se está inicializando porque me olvidé de asegurarme de que se había cargado y en realidad estaba en la página, pero no parece que debería tener ese problema.
buena suerte!