質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

Vuex

Vuexは、Vue.js アプリケーションのための状態管理ライブラリです。アプリケーション内で使用するコンポーネントのための集中データストアを提供。コンポーネント同士でデータをやり取りし、処理のフローを一貫させたり、データの見通しを良くすることができます。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

1560閲覧

Railsのstatusオプションの取得方法が分からない

kaji120

総合スコア39

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

Vuex

Vuexは、Vue.js アプリケーションのための状態管理ライブラリです。アプリケーション内で使用するコンポーネントのための集中データストアを提供。コンポーネント同士でデータをやり取りし、処理のフローを一貫させたり、データの見通しを良くすることができます。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

1クリップ

投稿2021/09/29 02:18

前提・実現したいこと

私はフロントとバックエンドに分けて開発を行なっています。
フロントはNuxt、バックエンドはRailsを使用しています。
成功、失敗でアラートを表示させたいのですが、成功と失敗のstatusを取得する方法がわかりません。
statusはcontrollerのstatusから取得したいです。
ご教授お願いします。

発生している問題・エラーメッセージ

statusの取得方法が分からない

該当のソースコード

posts_controller

rb

1 def create 2 posts = Post.new(create_params) 3 if posts.save 4# status: :created 又はstatus: :internal_server_errorを取得したい 5 render json: posts, status: :created 6 else 7 ender json: { errors: post.errors.full_messages }, status: :internal_server_error 8 end 9 end 10

Nuxt.js

js

1 2export const actions = { 3 // ユーザーが選択した本をサーバーに送る 4 post (context) { 5 const list = context.state.todos.list 6 const selectedBook = context.state.book.selectedBook 7 8 // サーバーに送る配列を作成 9 const postItemsAttributes = 10 list.map((item) => { 11 return { 12 content: item.content, 13 status: item.status 14 } 15 }) 16 17 // plugin/bookInfo $title,$author,$image 18 this.$axios.$post(url.POST_API + 'posts', { 19 post: { 20 title: this.$title(selectedBook), 21 author: this.$author(selectedBook), 22 image: this.$image(selectedBook), 23 post_items_attributes: postItemsAttributes 24 } 25 }) 26 .then((responseBook) => { 27 context.commit('book/responseBook', responseBook) 28 context.commit('book/clearBook') 29 context.commit('todos/clear') 30 console.log(context.state.book.responseBook) 31 }) 32 }, 33

試したこと

console.logで送信パラメーターを確認したが、statusが見つからなかった。
・パラメーターにstatus項目がないので、responseBook.statusでも取得できなかった
・参考記事を確認したがstatusの利用について見つけられなかった。

補足情報(FW/ツールのバージョンなど)

Rails6
Nuxt2.15

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

js

1axios.get("/api") 2 .then((data) => { 3 console.log('data', data.status) 4 }) 5 .catch((error) => { 6 console.log('error', error.response.status) 7 })

通常、以上で参照できるはずです。
ステータスコードが200番台は then、それ以外は catch の方が実行されます。
catch の方では response が存在しない場合があります。(ホストが応答しないなど)

投稿2021/09/29 07:39

neko_daisuki

総合スコア2090

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kaji120

2021/09/29 08:59

私も.statusで取得できる認識だったのですが、うまくいきませんでした。statusオプションが取得できないため、しょうがなくjsonの値で対応しています。
neko_daisuki

2021/09/29 09:31

リクエスト自体は期待通りに成功または失敗していますか?
shinoharat

2021/10/01 02:56

「うまくいかなかった」というのは、値が undefined になったということでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問