Ruby on rails 向my Rails Api发布带有Vue Js和Axios的请求
我正在尝试使用Vue JS和Axios将数据(书籍)发布到我的Rails Api。以下是my BookList组件中的代码:Ruby on rails 向my Rails Api发布带有Vue Js和Axios的请求,ruby-on-rails,vuejs2,axios,Ruby On Rails,Vuejs2,Axios,我正在尝试使用Vue JS和Axios将数据(书籍)发布到我的Rails Api。以下是my BookList组件中的代码: <script> import BookForm from './BookForm'; export default { name: 'hello', data(){ return{ books: [] } }, mounted() { axios.get("http://localhost:3000/ap
<script>
import BookForm from './BookForm';
export default {
name: 'hello',
data(){
return{
books: []
}
},
mounted() {
axios.get("http://localhost:3000/api/v1/books")
.then(response => {this.books = response.data})
},
components:{
BookForm
},
methods:{
onClickForm(book){
console.log(book)
this.books.push(book)
axios.post("http://localhost:3000/api/v1/books",{book})
.then(function (response) {
console.log(response);
})
console.log('Book created')
}
}
}
</script>
从“./BookForm”导入图书表单;
导出默认值{
姓名:'你好',
数据(){
返回{
书籍:[]
}
},
安装的(){
axios.get(“http://localhost:3000/api/v1/books")
.then(response=>{this.books=response.data})
},
组成部分:{
书型
},
方法:{
表格(书){
控制台日志(book)
这个。书。推(书)
axios.post(“http://localhost:3000/api/v1/books“,{book})
.然后(功能(响应){
控制台日志(响应);
})
console.log('Book created')
}
}
}
我可以发布book对象,但我从控制台得到一个错误。我的axios post请求似乎没有正确执行。请注意,我正在从BookForm组件发送book对象,发出一个与onClickForm方法连接的事件。我的方法有什么问题?谢谢
这是我从控制台得到的错误:
这是我从rails api服务器得到的消息:
这本书已创建,但我得到一个500内部错误。有什么帮助吗?谢谢看起来你的帖子不错,这是一个服务器端错误。与
book\u url
相关的内容。我检查了BookController,但没有book\u url方法…无法理解问题出在哪里您发送到服务器的book对象是否具有book\u url属性?否。您认为问题出在Rails应用程序还是Vue应用程序中?我不认为是Vue。