2012-11-06 152 views
1

我有文件index.html.twigSymfony2小枝在dev和prod環境下逃脫策略

在該文件I包括另一個文件:{% include 'MyBundle:Test:_test.js.twig' %}

_test.js.twig文件只有一個行:{{ test_var }}

在控制器我通過test_varreturn array('test_var' => '"test"');

的問題是,如果使用一不同的環境(dev和prod)sf將使用變量的不同轉義策略。

在開發中我看到的輸出:\x22test\x22(這是一個js逃避策略)

在PROD:"test"(這是一個HTML逃避策略)

爲什麼?我認爲dev和prod環境應該同樣工作。

+0

隨着開發和生產線的環境中,你的意思是不同的機器或「公正」的app.php之間的區別和app_dev.php? – Sgoettschkes

+0

我的意思是app.php(製作環境)和app_dev.php(開發環境) – Mikhail

回答

1

我不能說爲什麼。我需要看你的config.yml和config_dev.yml。

但是你可以寫你的MyBundle:Test:_test.js.twig這樣的:

{{ test_var|e('js') }} 

或:

{% autoescape 'js' %} 
    {{ test_var }} 
{% endautoescape %} 
+0

感謝您的回覆。但我的問題是爲什麼。我沒有更改默認的sf配置。所以我的配置是symfony 2.1的默認設置 – Mikhail

+0

好的,我會在星期天品嚐它。 –

相關問題