Я работал над новым приложением 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, используя скаффолд, не меняя ничего, и я столкнулся с той же проблемой, поэтому я думаю, что это не то, что я сделал.