Проблема с засовом в режиме воспроизведения

Я пытаюсь ограничить (используя deadbolt) что-то, на мой взгляд (play! framework) и я должен передать такой параметр, как:

#{deadbolt.restrictedResource resourceKeys:['projectEdit'], resourceParameters:['projectId':'3'}

Например, вы заметили, что 3 закодировано (это работает). Но мне нужно это динамично, например:

#{deadbolt.restrictedResource resourceKeys:['projectEdit'], resourceParameters:['projectId':${project.alias}]}

Что ж, теперь код больше не работает, но выдает исключение:

 Exception raised was MissingMethodException : No signature of method: Template_1012.$() is applicable for argument types: (Template_1012$_run_closure1_closure2) values: [Template_1012$_run_closure1_closure2@370c488c] Possible solutions: _(java.lang.String), is(java.lang.Object), run(), run(), any(), get(java.lang.String).

Вы знаете, почему это происходит?


person Cristian Boariu    schedule 03.04.2012    source источник


Ответы (1)


Навскидку, попробуйте процитировать:

#{deadbolt.restrictedResource resourceKeys:['projectEdit'], resourceParameters:['projectId':'${project.alias}']}

Дайте мне знать, если это сработает, и мы можем взять его оттуда, если это необходимо.

person Steve Chaloner    schedule 03.04.2012
comment
Спасибо, но это не работает, оно появляется в коде как строка: ${project.alias}... обходной путь, который я нашел, - это получить псевдоним моего проекта из текущего URL-адреса... - person Cristian Boariu; 04.04.2012
comment
Вы уже находитесь в области оценки, поэтому ${} вам не нужны, поэтому попробуйте одно из следующих действий: #{deadbolt.restrictedResource resourceKeys:['projectEdit'], resourceParameters:['projectId':project.alias ]} или #{deadbolt.restrictedResource resourceKeys:['projectEdit'], resourceParameters:['projectId':'' + project.alias]} - person Steve Chaloner; 04.04.2012