Witam,
mam w widoku
[code] <% for score in @tables %>
Jak to mozna zrobic ladniej(wywalajac ta zmienna i korzystac np z lenght) ?
Wiem, ze banal, ale mi nie wyszlo…
Witam,
mam w widoku
[code] <% for score in @tables %>
Jak to mozna zrobic ladniej(wywalajac ta zmienna i korzystac np z lenght) ?
Wiem, ze banal, ale mi nie wyszlo…
Nie mam zielonego pojęcia co chcesz osiągnąć. Domyślam się jedynie, że może each_with_index Ci pomoże.
może mdetoda each_with_index znajdująca się w module Enumerable? http://apidock.com/ruby/Enumerable/each_with_index
znaczy chcialbym miec takie cos
for i = 1 ; i <= @tables.length ; i++
ale w rubym ; )
pytanie 2.
mam w bazie 2 pola A i B
zakladajac ze A = 20 i B = 0, s = A / B to wynika ze s = null
jak sprawdzic ta wartosc czy nie jest null, a jak jest to przypisac do niej A ?
[teoria]
<% if ( A / B ).null? %>
<% s = A %>
<% else %>
<%= s %>
Z gory dzieki
Co do pierwszego pytania to użyj metody each_with_index, czyli mniej więcej tak:
<% @tables.each_with_index do |score, place| %>
Przez zero dzielić nie można:) Jeśli spróbujesz dostaniesz wyjątek ZeroDivisionError. Więc raczej sprawdzaj czy B nie jest zerem.
<% if B == 0 %>
<% s = A %>
<% else %>
<%= A / B %>
Jeśli chcesz sprawdzić czy jakaś wartość jest nil (w Ruby jest nil zamiast null) masz metodę “nil?” którą używasz tak: s.nil?
Było, zakop.
http://rubyonrails.pl/forum/t588-Petla-for-w-rubym
Czemu te przykłady podajecie w erb? Po pierwsze zaciemniacie proste przykłady tymi procentami, a po drugie jeśli w widokach występuje dużo obliczeń, to może to znak, żeby przenieść je gdzieś indziej? Na przykład do helperów, albo modelu?