kazunarigit
@kazunarigit (村田 一成)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

プレビューで404エラーになる

解決したいこと

https://github.com/kazunarigit/noveltool でadmin/novel_writings/index にアクセスすると、404 not foundになります。

また、deleteも同様。(create,editは表示される)

自分で試したこと

https://github.com/kazunarigit/noveltool
上のコードを確認。

Controllerに問題は確認されず、エラーログもありません。

自分でコードを見ても、問題は見つかりません。コントローラー以外にも問題があるかもしれません。
教えてください。

0

1Answer

Comments

  1. @kazunarigit

    Questioner

    はい。確認してみました。問題はありませんでした。
    一応、Laravelのバージョンは6.0ですが。
  2. @kazunarigit

    Questioner

    そうです。sが抜けてました。コード修正しました。

    404エラーは変わらずですね。ルーティングコマンドは問題ありませんでした。
  3. route:listの結果を記載できますか?
  4. 拝見しました。
    やはり「admin/novel_writings/index」ではなく「admin/novel_writings」では無いでしょうか?

    また削除についてはリンクのルート名が「admin.novel_writings.delete」ではなく「admin.novel_writings.destory」ではないでしょうか?

    また、前述の通りaタグのリンクはGETメソッドになるので、要求されているDELETEメソッドにする必要があります。

    https://github.com/kazunarigit/noveltool/blob/b9f30b18c35814797300e1bbd5458d602c2b8867/resources/views/admin/novel_writings/index.blade.php#L51
  5. > admin/novel_writingsでgateway time-out

    404ではなくなったので別の問題だと思います。最小限の機能でコントローラーに到達しているか確認するのが良いと思います。


    deleteについて補足しておくと、ルート設定についてのGETメソッドやDELETEメソッドというのはHTTP リクエストメソッドのことです。PHPのメソッドのことではありません。
    (説明を省略すべきではなかったかもしれませんね・・・)

    https://developer.mozilla.org/ja/docs/Web/HTTP/Methods

    スクリーンショットでいうとGETやHEAD、POSTなどと記載されている列です。
    ルート設定はURLとHTTPメソッドの組み合わせですので、両方一致させないといけません。
    aタグによるリンクはGETメソッドになるので、URLが一致していても削除のルートには一致しません。
    GETメソッド以外はformタグを使うことになりますが、DELETEメソッドは特殊です。
    改めてマニュアルへのリンクを記載しておきます。

    https://readouble.com/laravel/6.x/ja/routing.html#form-method-spoofing
  6. @kazunarigit

    Questioner

    コードを修正しました。(コントローラーをdestroyに戻し、ビューをaタグからformタグに変更しました。→合っているかわかりません)

    HTTPリクエストの理解が追い付いていないかもしれません。

    indexについては、どこでddをいれるか分からないので、あとにします。

Your answer might help someone💌