Devise - dziwny problem

Szukałem na githubie, nic nie ma.

Mam problem… Devise głupieje. Mam akcję “update” w kontrolerze Settings. Gdy robię na nią request POST, Devise przekierowuje mnie do logowania, oraz usuwa sesje. Co prawda, jest sprawdzanie autoryzacji, ale jestem na pewno zalogowany, oraz akcja “index” działa bez problemu. Nie wiem czy to nie kwestia wykonywania formularza (jakieś zabezpieczenia Railsów), bo nie korzystam z form_tag czy czegoś takiego…

Po prostu kod akcji się nie wykonuje:

http://pastie.org/1734756

Od railsów 3.0.5 jesli nie zgadza sie authenticity_token resetowana jest sesja, we wcześniejszych wersjach waliło błędem.
Dodaj w kontrolerze

skip_before_filter :verify_authenticity_token, :only => [:update]

A dlaczego nie korzystasz z form_tag? Albo wręcz form_for @user ? :slight_smile:
W sensie: nie możesz/nie chcesz ;)?

form_for @user , nie mogę, bo to ma spełniać w ogóle inne zadanie :slight_smile:
form_tag w ogóle się nie zainteresowałem, zobaczę.

Dzięki, rozwiązanie pski działa :slight_smile:

Staraj sie jednak używać form_for lub form_tag bo one automatycznie chronią Cię to przed atakami CSRF.

skip_before_filter :verify_authenticity_token

stosuje sie głownie wtedy gdy request POST przychodzi z zewnętrznego serwisu.