Formtastic select

To znowu ja :smile:

Kod :

f.input :parent_id, :label => "Category", as: :select, collection:  Category.all, include_blank: true

Potrzebuję dodać class=“optionParent” i class=“optionChild” do tego select.

Wiem, że istnieje coś takiego jak options_for_select ale nie wiem jak to tutaj dodać, aby działało.

Masz tu przykład, musisz dodać klasę do tablic z kategorami.

options_for_select([ "Denmark", ["USA", {:class => 'bold'}], "Sweden" ], ["USA", "Sweden"])
  <option value="Denmark">Denmark</option>\n<option value="USA" class="bold" selected="selected">USA</option>\n<option value="Sweden" selected="selected">Sweden</option>

options_for_select([["Dollar", "$", {:class => "bold"}], ["Kroner", "DKK", {:onclick => "alert('HI');"}]])
  <option value="$" class="bold">Dollar</option>\n<option value="DKK" onclick="alert('HI');">Kroner</option>

No ok, tylko nie wiem jak to zrobić w activeadmin.

Dodam jeszcze, że chodzi tutaj o select z ancestry…

To może lepiej napisz co chcesz osiągnąć?

Chcę osiągnąć select z pseudo optgroup czyli:

<select name="category[parent_id]" id="category_parent_id">
<option value="" class="optionParent"></option>
<option value="1" class="optionParent">Komputer</option>
<option value="2" class="optionChild">Karty Graficzne</option>
<option value="3" class="optionParent">Praca</option>
<option value="4" class="optionChild">IT/Telekomunikacja</option></select>

a w css np:

.optionChild {
    padding-left: 10px;
}

po to tak, aby za pomocą css zrobić pseudo optgroup, ponieważ rodzica też chce móc zaznaczyć w select.
Select jest wykorzystywany do dodania nowej kategorii/subkategorii

mogę zrobić to oczywiście w ten sposób

f.input :parent_id, :label => "Bla", as: :select, :collection => option_groups_from_collection_for_select(Category.where(:ancestry => nil), :children, :name, :id, :name, :category)

ale niestety tworzy się optgroup który już nie jest do wykorzystania…

jak to ugryźć ?

Nie dasz rady tam włożyć klasy, css dla <option> nie działa, możesz dodać np. 3 spacje dla podkategorii.

Hmm… A te 3 spacje jak dodać w takim razie?

I w jakim sensie nie działa ? Nie działa, że takie dodawanie czy ogólnie css tak nie działa ?