Ура! Товарищи. Ура! После стольких часов истязаний моего и ваших мозгов все заработало как надо
. Объявляю благодарность
Zorato и
AmberLEX, за то, что помогали мне в решении проблемы, последние несколько дней.
Корень зла крылся в атрибуте action тега form. Я переписал код в шаблоне так, как мне предложил в последний раз AmberLEX и немного сократил количество кода в контроллере. Так вот, при использовании хелперов класса Form, запись в БД неожиданна стала обновляться. Понятно, что, дело было не в контроллере: конечно он преобразился когда я убрал говнокод. Но это сделало код более читабельным, понятным и только. Чтобы разобраться, где все-таки собака зарыта, я начал экспериментировать с вьюхой. Я сделал несколько вариантов шаблона. Но запись обновлялась, только при использовании хелпера. Воспользовавшись комбинацией клавиш ctrl+u, сравнил шаблон с хелпером и без. Они практически ничем не отличались, да и не должны. Ведь использовать старый добрый метод разметки или прибегнуть к хелперу, эт кому как привычней. А отличались они только содержимым атрибута action. Хелпер:
Код:
<form action="/city/edit/4" method="post" accept-charset="utf-8">
Обычная разметка:
Код:
<form action="edit" method="post">
Причем, если в хелпе оставить атрибут action пустым, все равно запись будет обновляться. После нескольких минут подергивания моего правого глаза, я осознал ошибку. С самого начала мне нужно было писать так:
Код:
<form name="edit_city" action="/city/edit/<?php echo Request::current()->param('id'); ?>" method="post">
или так:
Код:
<form name="edit_city" action="/city/edit/$с->id; ?>" method="post">
Я оставил первый вариант, а от хелпов избавился - к ним не привык.
Дааааа, ну и тупил же я. Если бы не ваша помощь до меня бы долго еще не дошло. Еще раз спасибо.