私はsymfony2フレームワークを使用しています。エンティティのリストを表示するテンプレートを持っています(私の製品など)。リスト内のいくつかの他のアクションは、実際に私はそれを前に行っているが、その機会に私はいくつかのアクション(例えば、toggleActiveAction(Product $ product))フォームを使用せずに、リンクを作成して作成したが、クロスサイトリクエスト偽造攻撃の危険にさらされていますが、誰かが各エンティティのフォームを作成するよう提案していますが、これは良い方法ではないと思います。どうすれば対応できますか?symfonyのエンティティのリストのフォームを変更する方法
答えて
/**
*
* @Route("/news/update/{id}", name="news_update")
*/
public function updateAction(Request $request, $id) {
//Here I call my service
$newsService = $this->get('app.news_service');
//Here I receive the Entity I want to edit
$toUpdate = $newsService->fetchById($id);
//Here I create the form that I have defined in AppBundle\Forms
$form = $this->createForm(new NewsForm(), $toUpdate);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
//Once the form is submitted my newsService updates the Entity in the database.
$newsService->update($toUpdate);
//I redirect overview
return $this->redirectToRoute('news_show', array(), 301);
}
return $this->render('default/news/updateNews.html.twig', array(
'base_dir' => realpath($this->container->getParameter('kernel.root_dir') . '/..'),
'form' => $form->createView(),
));
}
これは、最初のユーザーが変更を保存するために送信するフォームにあなたをもたらすだろう。
それは私が欲しいものではありません。あなたはあなたのニュースを表示するために10行のテーブルを持っていると想像して、それぞれの前に削除とアクティブ/非アクティブのボタンが必要ですどのようにあなたはそれを行うことができますか?各ニュースの適切なボタンで10フォームを作成するか? – wing
いいえ、2つのフォームを作成します。彼らは製品のIDを受け取り、所望の動作を実行する。 これは削除または有効化を有効にします。理想的には、フォームを使用しないでください。コントローラで使用するサービスを使用するだけです。 – HermanTheGermanHesse
私はこれが私の望むものだと思っています。(あなたのサービスとあなたのビューを私に見せてください) – wing
は、リストを表示するのと同じ構造を使用します。
{% if product.active %} {{ product.attribute }} //It will put the products attribute in the browser if it is active {%endif%}
ここで小枝のチェックをproduct.active ==(=)trueの場合:使用できるビューでアクティブな製品を表示するには 。 forループで使用して、すべての製品をループすることができます。
{% for product in products %}
//The if block could go here.
{% enfor %}
あなたは私が意味することを理解していないと思う、私はそれぞれのエンティティlonely.forを変更することができます単一のフォームが必要です。例えば、私は10の製品を表示したい各製品はアクティブ、非アクティブ、削除またはいくつかのものelse.iそれらのための10のフォームを作成することができますが、私はそれが間違っていると思う – wing
- 1. フォーム内のエンティティをリストする方法
- 2. 2つのエンティティ でフォームを作成する方法のSymfony 2
- 3. Symfonyフォームのエンティティのグループチェックボックス
- 4. symfony、異なる入力diffエンティティのフォーム使用方法
- 5. symfonyの - フォームの検証エラーを変換する方法(フォームのエンティティでアサートから)?
- 6. symfonyでフォーム/新しいエンティティをループする方法
- 7. symfonyのエンティティ内部のエンティティをフィルタリングする方法
- 8. symfonyフォームのエンティティの追加と削除
- 9. エンティティからフォームへの複数の行をsymfony 3で返す方法
- 10. Symfony 2の別のエンティティ内のコレクションにエンティティを追加する方法
- 11. symfonyのエンティティへのファイルの追加を管理する方法
- 12. ORMを設定する方法Symfonyの2つのエンティティID
- 13. パラメータを使用してsymfonyフォームのURLを変更する
- 14. 2番目のエンティティにデータを入力するsymfonyフォーム
- 15. symfonyフォームのサブミット後にクエリービルダーでドロップダウン値を変更する
- 16. Symfony - 埋め込みフォームのテンプレートを変更する
- 17. symfonyで生成されたフォームのラベルを変更する
- 18. リストのリスト内の要素を変更する方法Java
- 19. リスト内のリスト内の要素を変更する方法
- 20. Doctrine(Symfony 3)エンティティのカラム位置を設定する方法
- 21. symfonyでenumのエンティティとスキーマを生成する方法
- 22. Symfony既存のデータベースからエンティティを生成する方法
- 23. symfonyフォームのエンティティプロパティのマッピング方法
- 24. エンティティのsymfonyサブクエリ
- 25. Symfony 2でイベントハンドラの優先度を変更する方法
- 26. symfonyにフォームをアンインストールする方法は?
- 27. Jhipsterのエンティティの列名の変更/更新方法は?
- 28. WCFのリスト内のエンティティの名前を変更します。
- 29. symfonyフォームでデータ値を変換する方法
- 30. エンティティ変更のバージョンを追跡/記録する方法
ようこそStackOverflow! [ツアー](http://stackoverflow.com/tour)にアクセスし、[どうすれば良い質問をしますか?](http://stackoverflow.com/help/how-to-ask)を読んでください。その後、あなたの質問に応じて編集し直してください。 – Jan