1

我创建了一个新的 rails-api 应用程序并为其添加了一个地址模型,然后安装了 rails_admin。每当我尝试添加行时,我都会得到422s

我可以看到 CSRF 令牌已在 JSON 中发送,但它说它无效。

Processing by RailsAdmin::MainController#new as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"9PP0EREx/cTK2TVtMp38ao/U9QCu6pjwmvV4fxIGEwTjZvGUfTcz7hpWL85UR/7qO3w+kytA2HD98+u7yiy3wg==", "address"=>{"door_no"=>"229", "street"=>"", "area"=>"", "city"=>"", "state"=>"", "pin"=>"", "code"=>""}, "return_to"=>"", "_save"=>"", "model_name"=>"address"}
Can't verify CSRF token authenticity.
Completed 422 Unprocessable Entity in 0ms (ActiveRecord: 0.0ms)

ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken)

有什么问题?宝石里可能有什么东西?

4

1 回答 1

2

我最初认为这个问题与几个月前我在 Github 上发布的问题相同,但是即使降级到1.1.0我也遇到了同样的问题。目前我在 Rails5.1.2和 Rails Admin上1.2.0

设置config.api_only = false解决问题

api-only模式似乎与一些 csrf 验证内容发生冲突,一旦我更改了标志,它就开始工作得非常完美。

于 2017-07-25T04:33:27.227 回答