mały problemik z ostatnią (stabilną!) wersją Railsów 3.0.0. Po zaktualizowaniu, nie wyświetlają mi się formularze. Haml 3.0.17 oraz z Gita wypróbowane, również starsze wersje Hamla.
W tym wypadku nic nie jest wyświetlane. Natomiast kiedy zamieniam - na = w pierwszej linijce dostaję:
ActionView::Template::Error (form_for outputs directly to the Haml template.
Disregard its return value and use the - operator,
or use capture_haml to get the value as a String.
):
17: = f.label :remember_me, t("models.user.remember_me")
18: %p
19: = f.submit t("devise.sessions.link")
app/views/devise/sessions/new.html.haml:20:in `_app_views_devise_sessions_new_html_haml__3472033986248112648_35893640_431353380906527808'
Pomysły?
UPDATE: Bug w HAMLu, już z resztą naprawiony w świeżutkim 3.0.18
W Railsach 3 inaczej są traktowane bloki w widokach. Przyszło im do głowy, że jak zrobisz w ruby coś takiego:
[code]def method_with_block
result = yield
‘
’ + result + ‘
’
end
html = method_with_block do ‘foo’ end[/code]
to w zmiennej html powinien być wynik metody method_with_block, a do tej pory w railsowych widokach tak nie było. Przy okazji nowa implementacja ułatwia tworzenie helperów z blokami (nie trzeba uciekać się do metod zaimplementowanych przez railsy).
Ok. W zasadzie to ma jak najbardziej sens - pisanie helperów z blokami, to faktycznie jest walka, co widać po jednym z ostatnich wątków na forum.
Jest już może jakiś obtestowany skrypt, który dostosowuje widoki do nowej składni?