2017-06-30 24 views
0

私はLaravelに関するさらに一般的な質問があります。 私はそれが初めてです。ルートにURLがありませんか?

私は、フォームを作成しました:

{!! Form::model($tourists, ['action' => '[email protected]', 'id' => 'passengers_form', 'class' => 'inline' ]) !!} 

{!! Form::close()!!} 

それは出力: "アクションのApp \のHttpコントローラ\ \ TouristControllerストアが定義されていません@。"

しかし、TouristControllerと方法ストアが存在しましたが、 私はこれとそれを試してみましたが、その後、私は私のweb.phpファイル(以前のバージョンでのroutes.php)にこれを追加したときにそれが機能することを発見:

"Route::post('/addtourist', '[email protected]');" 

[OK]を、私はそれを得る、方法を動作させるために、私は "web.php"(ルート)に追加する必要があります。

しかし、私は 'url'なしで働く方法があればどうしますか?

たとえば、 '/ addtourist'を使用せずに、上記のフォーム(または他のビューから)の情報を 'TouristController @ store'に直接送信したいですか?

Route::justMakeMethodWorkWithoutAnyURL('[email protected]'); 

よう

なめらかは可能ということですか?

私の質問が混乱している場合は申し訳ありません。私はLaravelをより深く理解したい。

答えて

0

私はあなたがこの

Route::post('/addtourist', '[email protected]')->route('tourist'); 

{!! Form::open(['route' => 'tourist', 'id' => 'passengers_form', 'role' => 'form', 'method' => 'post','class'=>'inline']) !!} 

があなたのためにこの作品を願って試すことができると思います!

+0

ありがとうございますが)経路を宣言する際にURLが必須パラメータであるかどうかを知りたいですか? 私は、任意のURLでメソッドを使用したい場合があると思います。 (たとえば、メソッドは、データベースに新しいユーザーを追加するためにのみ使用されます)。 このメソッドには '/ addtourist'が予約されていますが、他の目的でこのURLを使用し、すでに予約済みであることを忘れてしまう状況があります。 ナンセンスのように聞こえる場合は申し訳ありません:) –

+1

同じURLを別の方法で使用できます。たとえば、 'Route :: post( '/ addtourist'、 'abcController @ abc')'と 'Route :: get( '/ addtourist'、 'abcController @ bcd')です。しかし、これが両方のメソッドで使われると、 'Route :: post( '/ addtourist'、 'xyzController @ abc')'または 'Route :: get( '/ addtourist'、 'xyzController @ abc ') 'あなたの場合、' Route :: post('/addtourist '、' TouristController @ store ') 'を使うことができます。これで 'Route :: post( '/ addtourist'、 'TravelsController @ store')'を再び使うことはできません。あなたが理解することを願って! :) –

0

私はあなたがほしいと思うのは単にクラスを書いて、そのメソッドを呼び出すためにあなたのPHPファイルにインクルードすることです。

ルートは、定義によって、いくつかのロジックハン​​ドラにURLをマップするために使用されます。あなたのフォームの例では、必ずHTMLにフォームデータを投稿する必要があります。

関連する問題