myślnik zamiast podkreślenia w generowanych class i id

Większość kodu css, który można znaleźć w sieci oraz większość mojego kodu jest zazwyczaj oparta na konwencji nazwa-klasy, niż nazwa_klasy, jak to ma miejsce w railsach. I tak się zastanawiam, czy jest jakiś prosty sposób, żeby to ustawić?

Własne cssy to mały problem, bo można się przestawić, ale gdy się używa gotowych zestawów, które chce się tylko zmodyfikować, to sprawa zaczyna być problematyczna.

Imo to jest zadanie dla jakiegoś skryptu bash/awk ew. ruby.

To ja tak przy okazji zapytam: czyli konwencja nazwa-klasy jest “poprawniejsza” niz nazwa_klasy ?

Oba podejścia są tak samo poprawne w sensie składniowym w CSSie. Rozsądek by podpowiadał używać w miarę możliwości jednej konwencji.

W początkach istnienia CSS (~1996) podkreślenia nie były znakami dopuszczalnymi w nazwach klas i id. Niektóre przeglądarki nawet je ignorowały traktują na równi ze spacją. W pełni zostały zaakceptowane dopiero w erracie do CSS2 w 2001r.
“-” był w tych czasach najlepszą alternatywą, a potem był dodatkowo rekomendowany, na przykład przez Erica Meyera. Stąd też był (i może nadal jest?) bardziej popularny. Sam pamiętam, jak na początku drażniły mnie generowane w railsach css_y. Teraz jakoś nie zwracam na to uwagi.

Rozwiązanie:

[code]# ApplicationController

def dom_id(*args)
super.dasherize
end
helper_method :dom_id

def dom_class(*args)
super.dasherize
end
helper_method :dom_class[/code]

Tak jak pisał Hubert teraz obie wersje mają racje bytu. Tylko jakoś tak się składa, że większość rzeczy, których używam korzysta z konwencji używania minusa, a nie podkreślenia. I oczywiście, można sobie jakimś regexpem to zmieniać i uzywać podkreśleń, ale wolę konwencję minusową no i szukałem inteligentniejszego sposobu.