ruby-on-rails - 使用端点创建用户 - 路由错误
问题描述
用户必须从只有一个属性的 API 端点创建:nick
我使用 PostMan 发送了 Post 请求,但出现路由错误
这是我的路线:
resources :users
在用户控制器我有 new
和create
行动,像这样:
def new
@user = User.new
end
def create
@user = User.new(user_params)
if @user.save!
head :created
else
head :no_content
end
end
在 Postman 中:我选择了Post并且 url 是http://localhost:3000/users/new
在标题中我有:
Key Value
Content-Type Application/Json
这是身体:
{
"data": {
"type": "user",
"attributes": {
"nick": "Liwis"
}
}
}
当我发送请求时,它返回:
ActionController::RoutingError (No route matches [POST] "/users/new"):
actionpack (6.0.0) lib/action_dispatch/middleware/debug_exceptions.rb:36:in `call'
web-console (4.0.1) lib/web_console/middleware.rb:132:in `call_app'
web-console (4.0.1) lib/web_console/middleware.rb:28:in `block in call'
web-console (4.0.1) lib/web_console/middleware.rb:17:in `catch'
web-console (4.0.1) lib/web_console/middleware.rb:17:in `call'
actionpack (6.0.0) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
railties (6.0.0) lib/rails/rack/logger.rb:38:in `call_app'
railties (6.0.0) lib/rails/rack/logger.rb:26:in `block in call'
activesupport (6.0.0) lib/active_support/tagged_logging.rb:80:in `block in tagged'
activesupport (6.0.0) lib/active_support/tagged_logging.rb:28:in `tagged'
activesupport (6.0.0) lib/active_support/tagged_logging.rb:80:in `tagged'
railties (6.0.0) lib/rails/rack/logger.rb:26:in `call'
sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:13:in `call'
actionpack (6.0.0) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
actionpack (6.0.0) lib/action_dispatch/middleware/request_id.rb:27:in `call'
rack (2.2.2) lib/rack/method_override.rb:24:in `call'
rack (2.2.2) lib/rack/runtime.rb:22:in `call'
activesupport (6.0.0) lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
actionpack (6.0.0) lib/action_dispatch/middleware/executor.rb:14:in `call'
actionpack (6.0.0) lib/action_dispatch/middleware/static.rb:126:in `call'
rack (2.2.2) lib/rack/sendfile.rb:110:in `call'
actionpack (6.0.0) lib/action_dispatch/middleware/host_authorization.rb:83:in `call'
webpacker (4.2.2) lib/webpacker/dev_server_proxy.rb:23:in `perform_request'
rack-proxy (0.6.5) lib/rack/proxy.rb:57:in `call'
railties (6.0.0) lib/rails/engine.rb:526:in `call'
puma (4.3.3) lib/puma/configuration.rb:228:in `call'
puma (4.3.3) lib/puma/server.rb:682:in `handle_request'
puma (4.3.3) lib/puma/server.rb:472:in `process_client'
puma (4.3.3) lib/puma/server.rb:328:in `block in run'
puma (4.3.3) lib/puma/thread_pool.rb:134:in `block in spawn_thread'
解决方案
推荐阅读
- python - 通过 Python 从结果 ElasticSearch 中删除重复项
- python - Django:ValidationError ['ManagementForm 数据丢失或已被篡改']
- macos - 如何像 Python3 一样在 MacOS X 终端中运行 Lua?
- lua - 如何在LUA中重新启动游戏时停止声音
- excel - 如何在网页提取期间按钮自动点击网页后提取数据
- c - 为什么我的自动变量总是给出 0 而不是垃圾值?
- python - 如何使用 python 查找 tiff 文件中存在的图像(页面)的原始格式?
- javascript - 为什么单击单个删除按钮时除了一个图像之外的所有图像都被删除?
- python - 调试我的二叉树搜索和算法
- android - 数据绑定在动态功能模块中不起作用,在引用绑定的视图时导致空指针异常