從這個頁面:Symfony的1.4形式未找到
main_dev.php/player/new
來(當我點擊提交):
main_dev.php/player/edit/player_id/(no id)
,如果我把一個ID在這裏顯示的罰款。
當我點擊提交按鈕(不知它保存),但顯示的:
404 |未找到| sfError404Exception
Object Player does not exist()。
這是我的基本形式:
$this->setWidgets(array(
'player_id' => new sfWidgetFormInputHidden(), //primary key auto increment()
'player_name' => new sfWidgetFormInputText(),
'player_gold' => new sfWidgetFormInputText(),
'chara_id' => new sfWidgetFormInputText(),
'open_social_id' => new sfWidgetFormInputText(),
));
IM懷疑這裏的問題是不顯示的player_id並自動遞增。這意味着當我提交表單時,player_id保持空白,並且由於symfony無法找到要顯示記錄的引用的id所在的位置,因此404是否有任何解決方法?
和我action.class從默認的(當我生成的實例吧),所以我想離開是不是一個問題
繼承人什麼保存表單代碼:
protected function processForm(sfWebRequest $request, sfForm $form)
{
$form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
if ($form->isValid())
{
$Player = $form->save();
$this->redirect('player/edit?player_id='.$Player->getPlayerId());
}
}
和ofcourse新頁面控制器:
public function executeNew(sfWebRequest $request)
{
$this->form = new PlayerForm();
}
你能否顯示保存玩家信息的代碼 – 2013-03-22 08:07:40
@ Rohit Subedi當你點擊提交時實際保存到數據庫,但問題是顯示保存的信息; btw person_id是主鍵,並且由數據庫自動遞增,所以用戶不需要填充它們(我將它設置爲隱藏),所以我認爲它也不會存在於post方法中。 – Viscocent 2013-03-25 02:29:47