Ultimamente, sto riscontrando problemi con gli attributi di dati personalizzati HTML nella mia applicazione rails. Mi utente il seguente schema per aggiungere alcuni dati attribuisce ai tag html e usarli più tardi nella mia javascript (jQuery) Codice:rails e attributi di dati html: usa dash (-) o underscore (_)?
= %a.name{ href: "url.com", data: {first_name: "ben", last_name: "amsalem} }
nel codice JavaScript accedo quegli attributi:
alert($(".name").data("first_name") + " " + $(".name").data("last_name"));
Nel mio ambiente di sviluppo va bene e ottengo il risultato atteso (lo stesso vale per il mio ambiente di produzione in passato), ma nella mia attuale versione di produzione ottengo valori "indefiniti". Ho controllato il codice HTML della pagina e ho visto che ora ho qualcosa di simile:
<a class="name" href="url.com" data-first-name="ben" data-last-name="amsalem" />
Invece di:
<a class="name" href="url.com" data-first_name="ben" data-last_name="amsalem" />
Perché succede? Cosa causa il cambiamento?
Sembra che ora sia più corretto e per accedervi è necessario '.data (" lastName ")' Hai aggiornato i binari? Questo potrebbe spiegare il cambiamento. –
http://stackoverflow.com/questions/8734722/rails-link-to-helper-with-data-attribute – MrYoshiji
È preferibile non utilizzare caratteri di sottolineatura nei nomi degli attributi. So per certo in MVC che gli helper Html convertiranno i caratteri di sottolineatura in trattini. easiler per usare semplicemente 'data-firstname' ad esempio – musefan