前提・実現したいこと
jsonは取得できているのですが、ビューに表示することができません。
現在vueの勉強中で、rails+vueでアプリを作りたく、https://qiita.com/cohki0305/items/a678b0b17c5b496c1de9
を試しに手を動かして作成中なのですが、エラーが出てしまっています。
発生している問題・エラーメッセージ
console.logにてid:1を叩くと、
xhr.js:175 GET http://localhost:3000/books/api/books/1.json 404 (Not Found)
Uncaught (in promise) Error: Request failed with status code 404 at createError (createError.js:17) at settle (settle.js:19) at XMLHttpRequest.handleLoad (xhr.js:63)
該当のソースコード
index.html.haml
.container.js-booksIndex .row - @books.each do |book| .col.s4.m6 .card %span.card-title{'v-on:click': "setBookInfo(#{book.id})"} = book.title .row{'v-show': 'bookInfoBool'} .col.s12.m12 .card.blue-grey.darken-1 .card-content.white-text %span.card-title {{ bookInfo.title }} .detail {{ bookInfo.author }} .detail {{ bookInfo.publisher }} .detail {{ bookInfo.genre }} = javascript_pack_tag 'books/index'
javascript
1import Vue from 'vue/dist/vue.esm'; 2import axios from 'axios'; 3 4new Vue({ 5 el: '.js-booksIndex', 6 data: { 7 bookInfo: {}, 8 bookInfoBool: false 9 }, 10 methods: { 11 setBookInfo(id){ 12 axios.get(`api/books/${id}.json`) 13 .then(res => { 14 this.bookInfo = res.data; 15 this.bookInfoBool = true; 16 }); 17 } 18 } 19}); 20 21
urlの取得がうまくいっていないとは思うのですが、どのように記述すればいいのかがわかりません。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー