Можно ли передать несколько параметров для действия в контроллере с помощью метода postLink
из FormHelper
?
Мне не удалось сделать это с помощью options
массив. В документах не очень хорошо указано, какие значения допускает этот массив.
Вот что я попробовал:
$this->Form->postLink($staffUser['User']['_name'], array(
'action' => 'subscribe',
array('ticketId' => $ticket['Ticket']['id'], 'userId' => $staffUser['User']['id'])
));
мой subscribe
Действие выглядит так:
public function subscribe($ticketId, $userId = null){
if ($this->request->is('post')) {
//...
}
}
Обновить
Я только что заметил, что предоставленное решение создает еще одну проблему для меня. Теперь class
прекратить добавление ulike раньше, когда я использовал только один параметр:
$this->Form->postLink($staffUser['User']['_name'], array(
'action' => 'subscribe',
$ticket['Ticket']['id'],
$staffUser['User']['id'],
array('class' => 'demo') //not beind added
));
postLink принимает свою запись URL в той же форме, что и метод create. Параметрам не нужен ключ, расположите их по порядку после ключа действия / значения.
Другие параметры нужно указывать в третьем аргументе — у вас есть массив параметров в качестве дополнительной записи в массив URL.
$this->Form->postLink($staffUser['User']['_name'], array(
'action' => 'subscribe',
$ticket['Ticket']['id'],
$staffUser['User']['id']
),
array(
'class' => 'demo'
)
);
Смотрите параметры FormHelper :: создать здесь:
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html
Других решений пока нет …