Weekday jest obiektem typu Day, posiada pole z datą. W view chcę stworzyć link, który w wywoła zdefiniowaną przeze mnie w Days_controllerze funkcję changedaystate. Chciałbym aby do tej funkcji przekazany został parametr w postaci daty. jak to zrobić? czy poniższe wywołanie jest poprawne?
link_to( “24”, changedaystate_url(:date => weekday.date ))
Po drodze próbowałem różnych rzeczy, natrafiłem między innymi na problemy z routem, czy muszę coś tam dopisać, żeby działało?
druga sprawa to problem z samą metodą changedaystate, która nie działa tak jak się spodziewam. oto jak ona wygląda:
def changedaystate
if (fday = Day.find(:first, :conditions => [ “date = ?”, params[:date] ]))
case fday.date
when 2: fday.update_attribute(:state, 3)
when 3: fday.update_attribute(:state, 2)
end
else
Day.new(:date => params[:date], :state => 2)
end
redirect_to_index
end
niestety funkcja nawet nie próbuje znaleźć obiektu, nie tworzy też nowego. wykonuje jedynie redirect. czy przyczyną może być niewłaściwie przekazany parametr? może chodzi o jego format? a może problem jest w route?
jak należy wywołać tę funkcję i przekazać jej parametr, żeby zadziałała? Proszę o pomoc i sugestie.