发布不起作用的 React + Rails



当我尝试发布帖子时,我收到400(错误请求(错误。

我正在尝试将新玩家发布到团队中。

我的控制器

def create
@teams = Team.find(params[:team_id])  
@players = @teams.players.new(player_params)
  render json: @players
end
private
 def player_params
     params.require(:player).permit(:name, :photo, :nationality)
 end

函数

_handleSubmit = async (e) => {
e.preventDefault();
const teamId = this.props.match.params.id;
const payload = this.state.players;
console.log(payload);
try {
  const res = await axios.post(`/api/teams/${teamId}/players`, payload);
} catch (err) {
  console.log(err);
 }
};
_handleChange = (e) => {
const newState = { ...this.state.players };
newState[e.target.name] = e.target.value;
this.setState({ players: newState });
};

您需要强有力地比较您发送的正文和您希望在服务器上接收的正文?

在后端,您不仅可以发送错误代码,错误消息或发生错误的字段标识符。

并且不要忘记设置await语句,如果您将使用查询结果:

const res = await axios.post(`/api/teams/${teamId}/players`, payload);

最新更新