teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

アドバイスを受けて編集しました。

2016/12/19 00:37

投稿

spellbound
spellbound

スコア190

title CHANGED
@@ -1,1 +1,1 @@
1
- Laravel 5.2 ユーザーページのURLusernameにするためにはどうすれば良いでしょうか?
1
+ Laravel 5.2 Usernameをドメイン名の直後に入れたユーザーページを作成するにはどうすれば良いでしょうか?(例:https://exsample.com/username)
body CHANGED
@@ -1,9 +1,26 @@
1
- # https://domain.com/david_smith
1
+ # https://exsample.com/username
2
- 上記通り、URL内にusernameを使用するにはどうすれば良いでしょうか?
2
+ ドメイン名直後ユーザが登録したusernameを表示するにはどうすれば良いでしょうか?具体的な例を出すと、TwitterのユーザページのURLのような仕組みです。(https://twitter.com/davit_smith)
3
3
 
4
4
  # 試したこと
5
- 現在、ユーザーページは完成しています。しかし、routes.phpで```Route::resource('users', 'UsersController', ['only' => 'show']);``` と記述しており、Laravelが指定するパスしか使えません。そこで、resourceを使わずに、getを使用してルーティング記述しましたが、bad exception等々のエラーが発生します。そのエラーを直そうとすると、解決策の多くが、resourceを使えとのことでした。
6
5
 
6
+ ```php
7
+ Route::resource('users', 'UsersController', ['only' => 'show']);
8
+ ```
9
+ 今までは上記の書き方でルーティング記述を行なっていました。
10
+ この書き方で開発すると、ユーザページのURLは「https://exsample.com/users/1」となります。
11
+
12
+ そこで、下記のルーティング記述に変えてみました。
13
+ ```php
14
+ Route::get('{username}', 'UsersController@show');
15
+ ```
16
+
7
- 通常はどのようにて上記のようにするのでょうか?
17
+ かし、下記のエラーが発生ました。
18
+
19
+ ```php
20
+ BadMethodCallException
21
+ ```
22
+
23
+ そして、このエラーを直すためにググった結果、「ルーティング記述は、resourceを使うべき」という意見が多かったです。もしかしたら、Laravelでは実装できない機能なのではないのかと思ってしまいました。
24
+
8
- Laravelでは装できない機能なのでしょうか?
25
+ 際、開発可能なことなのでしょうか?
9
- ご回答お願い致します。
26
+ 宜しくお願い致します。