2017-06-08 12 views
1

いつか私は、ユーザーが明らかにコードのこの時点ではコメントがまだ存在していませんが、それでも私は、ユーザーがコメントしたりしないように許可されているかどうかを確認する必要があり、有権者からコメントすることができますかどうかを確認する必要があります。私は通常$this->isGranted('create', new Comment())を行うだろう、コントローラからtwigから直接新しいエンティティを設定することはできますか?

が、どのように私は小枝で同じことを行うことになっていますか?私は明確な、について説明を見つけることができない、と私は明らかに{% if is_granted('create', new comment()) %}ような何かを行うことはできません。

、コントローラからnew Comment()をレンダリングのようなコントローラからオブジェクトをハッキングすることなく、これを行う方法はありますか?そうすることで、私の有権者に多くのスパゲッティコードを避けることができます。

+0

:あなたはこのようis_grantedを使用することができ、あなたの小枝インサイド

Symfony Twig Extensions

'、あなたがオブジェクトとしてどんな' $ this'に合格できるようにする必要があるとしTwigSimple_Function'は、関数に向かっていますN – DarkBee

+0

はちょうどあなたのあなたの小枝テンプレートに新しいコメントを渡す方が簡単な場合があります。または、コントローラでチェックを行い、結果を変数として渡します。 – Cerad

答えて

0

あなたは、このマニュアルのリンクでSymfony Twig Extensions

表情で小枝を拡張することができます:あなたはと小枝を拡張することができ

{{ is_granted(role, object = null, field = null) }} 
関連する問題