Validacja modelu

hej mam takie pytanie dot. validacji w modelu.

mam takie coś np.

validates_uniqueness_of :login, :on => :add

i chcę by ta validacja działała tylko dla akcji add ale nie działa.
Mam też akcję login i tam już ta validacja ma nie być sprawdzana… jak to zrobić.??

Mam też inne pytanie, mam formularz rejestracji tam mam pola login, password, password_confirmation w bazie pola password_confirmation nie mam co zrobić by po wpisaniu różnych haseł był odp. komunikat. Próbowałem tak:

 validates_confirmation_of :password_confirmation

ma ktoś jakiś pomysł?

I taka prośba o radę.

czy takie rzeczy jak ostatnia data logowania, ostatnie ip logowania ilość logowań obsługiwać po stronie modelu czy helpera? nie chcę tego w kontrolerach.

[quote=piotrstanek]hej mam takie pytanie dot. validacji w modelu.

mam takie coś np.

validates_uniqueness_of :login, :on => :add

i chcę by ta validacja działała tylko dla akcji add ale nie działa.
Mam też akcję login i tam już ta validacja ma nie być sprawdzana… jak to zrobić.??[/quote]
O nie, opcja “on” to nie są akcje kontrolera (o ile o to Ci chodziło) ale akcje modelu (create i update) - http://guides.rubyonrails.org/active_record_validations_callbacks.html#on

[quote=piotrstanek]Mam też inne pytanie, mam formularz rejestracji tam mam pola login, password, password_confirmation w bazie pola password_confirmation nie mam co zrobić by po wpisaniu różnych haseł był odp. komunikat. Próbowałem tak:

 validates_confirmation_of :password_confirmation

ma ktoś jakiś pomysł?[/quote]

[code=ruby]validates_confirmation_of :password

ewentualnie

validates :password, confirmation: true[/code]
To tworzy Ci wirtualny atrybut password_confirmation

[quote=piotrstanek]I taka prośba o radę.

czy takie rzeczy jak ostatnia data logowania, ostatnie ip logowania ilość logowań obsługiwać po stronie modelu czy helpera? nie chcę tego w kontrolerach.[/quote]
Zdecydowanie w modelu. Po prostu dodatkowe pola w modelu User które zmieniasz przy logowaniu

I generalnie polecam nie wymyślać koła na nowo - https://github.com/plataformatec/devise

włąsnie instaluję tego gem’a dzięki. Zacznę chyba korzystać z GEM ów.

Już dawno korzystasz. Same Rails’y to gem :wink:

:slight_smile:

zainstalowalem sobie Devise

teraz robie

rake devise:setup

i mam błąd

[code]iMac-Piotr:facebook pstanek$ rake devise:setup
rake aborted!
Don’t know how to build task ‘devise:setup’

(See full trace by running task with --trace)
iMac-Piotr:facebook pstanek$[/code]
Mam też pyt dot . Omniauth

mam zainstalowany również ‘omniauth’ można jakoś automatycznie wygenerować model, widok itp by samemu tego nie pisać??

piotrstanek => http://railscasts.com/episodes/209-introducing-devise