Konfiguracja View

Witam,

Stworzyłem prostą aplikacje railsową opartą o scaffold.Chcialem skonfigurowac widok tak aby w momencie kiedy 1 konkretne pole w calym wierszu jest puste kolor calego wiersza byly inny od tych z wypelnionym polem.

Fragment mojego View

<% for list in @lists -%>

<%=h list.id -%>) <%=h list.title %> <%=h list.body %> <%=h list.char %> <%=h list.sim %> <%=h list.oth %> <%=h list.wyp %> <%=h list.od %> <%=h list.comm %> <% end %>

i CSS

.list-line-even {
background: #f8b0f8 ;
}

powyzszy kod ladnie zmienia mi CSS klase i wszystkie wiersze sa w 1 kolorze.
Teraz chcialem zmienic i dodac petle ktora ustawia inny kolor kiedy wartosc konretnego pola jest pusta.

Myslalem o :

<% for list in @lists -%>

<% if list.od = ''-%> <%=h list.id -%>) <%=h list.title %> <%=h list.body %> <%=h list.char %> <%=h list.sim %> <%=h list.oth %> <%=h list.wyp %> <%=h list.od %> <%=h list.comm %> <% end %>

i CSS

.list-line-even1 {
background: #f8b0f8 ;
}

.list-line-even {
background: #fff ;
}

Niesety stronka sie bardzo rozjezdza i nie wyswietla niektorych pol ( nie dziala jak powinno).

Ma moze ktos dobra rade na to ? :slight_smile:

Pozdrawiam
beny18241

[code=ruby]<% for list in @lists -%>

" > <%=h list.id -%>) <%=h list.title %> <%=h list.body %> <%=h list.char %> <%=h list.sim %> <%=h list.oth %> <%=h list.wyp %> <%=h list.od %> <%=h list.comm %> <% end %>[/code] wyslwietlalo sie zle m.in. dlatego ze nie pozamykales tagow html-owych ...

edit:

moze pomysl o zmianie nazwy ‘list-line-even1’ na ‘list-line-odd’ … :wink:

nie o to mi chodzi za bardzo :slight_smile: … cycle -> ta funkcja ktora opisales iteruje i kazdy nastepny wiersz bedzie mial kolejny kolor (z tych dwoch).

A ja wlasnie dodatkowo chialem petle wrzucic ktora mowi ze konrente pole dajmy na to list.od jest puste w danym rekordzie…

jakies inne pomysly :slight_smile: ?

pozdrawiam

Po pierwsze, formatuj kod na forum. Po drugie formatuj kod na forum.

Po trzecie: w helperze stwórz sobie metodę

def get_list_class(list) if list.od "empty_line" else "normal_line" end end
A w widoku daj:

<tr class="<%= get_list_class(list) -%>"  >

I nie zapomnij formatować kodu na forum.