witam
mam prosty panel logowania na stronie głównej includowany za pomocą
<%= render :partial => “shared/login_form” %>
zawiera on formularz
[code=ruby]<% form_for @user_session do |f| %>
<%= f.error_messages %>
<%= f.text_field :email %>
<%= f.password_field :password %>
…[/code]
Uzywam takze Authlogica. Dopuki logowanie używało swojego widoku wszystko było ok, po przeniesieniu do panelu nie wyświetla mi błędów ani powiadomień, ale loguje ok jeśli dane są poprawne, tak jakby f.error_messages przestalo dzialac. Kontrollery UserSessions i Home wygladają tak
Nie ma błędów dla @user_session, bo masz w akcji create redirect_to również dla niepowodzenia stworzenia i w wyniku tego masz w nowej akcji tworzony nowy @user_session, który nie ma już żadnych błędów, więc nie ma co wyświetlać. Używaj render :action => ‘costam’ w przypadku niepowodzeń w formularzu albo wcześniej wrzucaj błędy ręcznie do flash
render :action raczej nie moge bo akcja która chce wyswietlic jest w innym kontrolerze, poprostu zawsze ma być pokazana strona główna. Jak je przerzucić do flasha ?
Dzięki, nie byłem pewny czy coś takiego to poprawne rozwiązanie. Czy można jakoś pogrupować wiadomości we flashu zeby wyświetlać je w różnych miejscach w zależności co je wywołało, np dla logowania pod panelem logowania itp, no flash[:notice_login], flash[:notice_error] czy jest może jakieś bardziej eleganckie rozwiązanie ?
Moim zdaniem, właśnie po to można sobie nadawać własne identyfikatory dla flasha, żeby sobie móc dowolnie rozmieszczać i grupować komunikaty. Więc jak najbardziej jest to eleganckie rozwiązanie
Z punktu widzenia usability dużo lepszym rozwiązaniem jest renderowanie osobnego widoku w wypadku nieudanego logowania.
Na stronie głównej jest najczęściej sporo treści. Jeśli po nieudanym logowaniu przekierujesz na stronę główną to bez względu na to jak ładny nie byłby Twój flash i tak może umknąć użytkownikowi. Dość często zdarzyło mi się gubić w podobnej sytuacji.
Kolejne pytanie, chyba nie warte zakładania nowego tematu, tym razem problem z tłumaczeniem
Mam model Question i kilka modeli z niego dziedziczących, pole title jest wspólne dla wszystkich, mam w modelu Question ustawioną validację zeby title nie był pusty, przy pustym zwraca mi brak tłumaczenia