Я працював над новим додатком Rails 4 (на Ruby 2.0.0-p0), коли я зіткнувся з деякими проблемами з ознаками автентичності.
Під час написання контролера, який відповідає на json (використовуючи respond_to
метод класу), я дійшов до create
дії, ActionController::InvalidAuthenticityToken
коли я намагався створити запис, використовуючи curl
.
Я переконався, що я встановив, -H "Content-Type: application/json"
і я встановив дані, -d "<my data here>"
але все одно не пощастило.
Я спробував написати той же контролер за допомогою Rails 3.2 (на Ruby 1.9.3), і я не мав жодних проблем з маркіруванням автентичності. Я обдивився і побачив, що в Rails 4. відбулися деякі зміни з маркерами автентичності. З чого я розумію, вони більше не вставляються автоматично у форми? Я припускаю, що це якимось чином впливає на типи вмісту, що не містить HTML.
Чи є спосіб обійти це, не вимагаючи HTML-форми, вирвавши маркер автентичності, а потім зробивши ще один запит за допомогою цього маркера? Або я повністю пропускаю щось, що абсолютно очевидно?
Редагувати: Я просто спробував створити новий запис у новому додатку Rails 4, використовуючи ешафот, не змінюючи нічого, і я зіткнувся з тією ж проблемою, так що, мабуть, це не те, що я зробив.