Pracowałem nad nową aplikacją Rails 4 (na Ruby 2.0.0-p0), kiedy napotkałem pewne problemy z tokenami autentyczności.
Podczas pisania kontrolera, który reaguje na json (przy użyciu respond_tometody klasy), doszedłem do createakcji, w której zacząłem uzyskiwać ActionController::InvalidAuthenticityTokenwyjątki, gdy próbowałem utworzyć rekord za pomocą curl.
Upewniłem się, że ustawiłem -H "Content-Type: application/json"i ustawiłem dane, -d "<my data here>"ale nadal nie miałem szczęścia.
Próbowałem napisać ten sam kontroler przy użyciu Rails 3.2 (na Ruby 1.9.3) i nie dostałem żadnych problemów z tokenem autentyczności. Rozejrzałem się i zobaczyłem, że w Railsie 4 wprowadzono pewne zmiany dotyczące tokenów autentyczności. Z tego, co rozumiem, nie są już one automatycznie wstawiane do formularzy? Przypuszczam, że to w jakiś sposób wpływa na typy treści inne niż HTML.
Czy jest jakiś sposób na obejście tego bez konieczności żądania formularza HTML, wyłapywania tokena autentyczności, a następnie wysyłania kolejnego żądania z tym tokenem? A może zupełnie brakuje mi czegoś, co jest całkowicie oczywiste?
Edycja: Właśnie próbowałem utworzyć nowy rekord w nowej aplikacji Rails 4 przy użyciu rusztowania bez zmiany czegokolwiek i napotykam ten sam problem, więc chyba nie zrobiłem tego.