如何解决使用Rails获取POST和DELETE方法无效
我将Rails API后端与原始JS,HTML和CSS前端结合使用。我正在尝试为该应用程序中的不同食物食谱添加updote系统,例如Reddit。现在,我遇到了两个问题:每个提取请求中的PATCH和DELETE方法都无法正常工作。
对于这两种方法,我都得到404(未找到)。这是我第一次使用Rails作为API和JS,因此我绝对是新手。
JS文件:
function votingEvents(voting) {
for (let i = 0; i < voting.length; i++) {
voting[i].addEventListener('click',function(event){
if (event.target.style.color === '') {
fetch(RECIPES_URL,{
method: "PATCH",headers: {
"Content-Type": "application/json","Accept": "application/json"
},body: JSON.stringify({
upVotes: `${this.upVotes + 1}`,})
})
.then( res => res.json())
.then( res => event.target.dataset.upVotes = res.upVotes)
.catch(error => console.log(error.message));
event.target.style.color = "red"
this.upVotes += 1
} else if (event.target.style.color === 'red'){
debugger
event.target.style.color = ''
fetch(RECIPES_URL,{
method: "DELETE"
})
}
})
}
}
Rails Recipe Controller:
def update
recipe = Recipe.find_by(id: params[:id])
recipe.upVotes += 1;
render json: recipe
end
def destroy
recipes = Recipe.all
recipe = Recipe.find(id: params[:id])
recipe.upVotes -= 1;
render json: recipes
end
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。