最初に注意したいのは、自分のretrspective関数内にリダイレクトがある場合、これがうまく動作することです。 基本的に、私はプロジェクトを作成します。プロジェクト内では、私は多くの種類の文書を作成できます。関係はすべて適切に設定されています。
プロジェクト内には、作成できるさまざまな文書へのリンクがあります。これらは、(中ビューファイルにリダイレクトする
<li>{!! link_to_route('projects.document.create', 'Some Document', array($project, 'someDocument')) !!}</li>
のようなルートは、この
Route::get('projects/{projects}/document/{name}', array('as' => 'projects.document.create', 'uses' => '[email protected]'));
のようなものです。そして、私のDocumentControllerに、私はこの
public function create(Project $project, $name)
{
$this->redirectResult($project, $name);
}
redirectResult機能は、本質的に、選択された文書かどうかをチェックしませんですこのケースsomeDocument)は以前に作成されています(プロジェクトには多くのドキュメントがありますが、各タイプのドキュメントは1つだけです)。 プロジェクト用に文書が作成されていない場合は、その文書の作成ビューが表示されます。編集ビューを表示する前に作成されている場合。これは関数です
ここでドキュメントを選択すると、空白のページになります。 URLは正しいですが、エラーや何もない、単に空白のページです。奇妙なことは私が古い方法(これは上記と同じように動作するはずです)を行うときです それは動作します。古い方法は、上記と全く同じであるが、私の関数を作成し、この代わりに
public function create(Project $project, $name)
{
$selectedDoc = Document::where('project_id', '=', $project->id)
->where('name', '=', $name)
->first();
if(!$selectedDoc) {
return View::make($name.'.create', compact('project'));
}
else {
return View::make($name . '.edit', compact('project', 'selectedDoc'));
}
}
ようなので、唯一異なるコードを作るのビューではなく、このコードを持つ関数を呼び出すよりも、関数内で直接であるということです。私はこのすべてのリピートコードをそれ自身の関数に入れたいので、私は をすべてのドキュメントコントローラ関数に対して繰り返さなければなりません。
新しい方法で空白のページが表示される理由はありますか?明白な点を除外するために、ビューファイルを含むフォルダが正しく設定されています。したがって、上記の例のビューフォルダ内では、 私はsomeDocumentというフォルダを持っており、その中にedit.blade.phpがあります。
これがなぜ評価されているのかに関する情報。
ありがとうございます。
うわー、私はそれを逃したとは思わない:-)ありがとう –