1

これに頭を巻くのは難しいと思います。Symfony管理ジェネレーターを広範囲に使用したことがある人のために、バックエンドモジュールに基づくモジュールごとに、すべてのレコードの編集ページがあります。通常、これには次のようにアクセスできます。

module/primarykey/edit.  (assume questions/1/edit)

通常、主キーは次のようなURIパラメータとして渡されるため、これは奇妙なことです。

質問/編集/1。とにかく、それはおそらく無関係です。重要なのは、上記のURIのlink_toをどのように生成するかです。UIに属していない外部ページを介してeditSuccessページをリンクしています。私が使用する構文は

link_to('Edit','questions/'.$primary_key.'/edit') // (where $primary_key = 1 as in this case)

ただし、その自動変更は次のようになります。

/backend_dev.php/questions/1/action編集ではなくアクションに注意してください

そのようなアクションは存在せず、質問/アクションが存在しないことを示す404エラーを返します

要約すると、レコード専用にレンダリングされる管理ページにどのようにリンクしますか?

4

1 に答える 1

1

(url_forしたがって) ヘルパーは、外部の URL ではなく、内部のlink_toURLを扱います。構文は. あなたの場合、これは(アクションが id パラメータを探すと仮定して)です。module/action?parametersquestion/edit?id=$primarykey

ルートに名前を付けると、リンクの生成が高速になります (ハッシュテーブル検索と線形検索):

echo url_for("@question_edit?id=$primary_key");

ルートを sfDoctrineRoute として設定すると、さらに簡単になります:

echo url_for("question_edit", $question);

ID ではなく質問オブジェクトを渡す必要があることに注意してください。ルート クラスは必要なすべてのパラメータを取得します。

于 2012-08-07T08:38:28.863 に答える