由于某种原因,我无法通过Postman成功地进行POST或UPDATE。我得到的错误如下:
Started POST "/names" for ::1 at 2022-10-19 16:26:48 -0500
Processing by NamesController#create as */*
Parameters: {"_json"=>[{"name"=>"Joseph Schmoseph"}], "name"=>{}}
Completed 400 Bad Request in 0ms (ActiveRecord: 1.2ms | Allocations: 255)
ActionController::ParameterMissing (param is missing or the value is empty: name):
app/controllers/names_controller.rb:57:in `names_params'
app/controllers/names_controller.rb:19:in `create'
下面是我的names_controller及其所有路由:
class NamesController < ApplicationController
before_action :set_name, only: [:show, :update, :destroy]
# GET /names
def index
@names = Name.all
render json: @names
end
# GET /names/1
def show
render json: @name
end
# POST /names
def create
@name = Name.new(name_params)
if @name.save
render json: @name, status: :created, location: @name
else
render json: @name.errors, status: :unprocessable_entity
end
end
# PATCH/PUT /names/1
def update
if @name.update(name_params)
render json: @name
else
render json: @name.errors, status: :unprocessable_entity
end
end
# DELETE /names/1
def destroy
@name.destroy
end
private
# Use callbacks to share common setup or constraints between actions.
def set_name
@name = Name.find(params[:id])
end
# Only allow a list of trusted parameters through.
def name_params
params.require(:name).permit(:name)
end
end
除了UPDATE和CREATE之外,所有其他的路由都运行良好。我使用Postgresql作为我的数据库。我以前从未遇到过简单数据库路由的问题,所以我有点困惑。任何帮助都将不胜感激!
1条答案
按热度按时间ulmd4ohb1#
@Maxence表示
在 Postman
变更
至
在名称_控制器.rb中