2011-11-04 70 views
0

我在使用帶有url_for方法的對象時遇到了問題,我認爲這個想法是任何需要自動找到的自動?PHP Symfony Route有一些缺少的強制性參數

The "/publish/:id/:token" route has some missing mandatory parameters (:id, :token). 

的routing.yml

post_publish: 
    url:  /publish/:id/:token 
    options: 
    model: HookupPost 
    type: object 
    method_for_criteria: doSelectOneInactive 
    param: { module: post, action: show } 
    requirements: 
    id: \d+ 
    token: \w+ 
    sf_method: [GET] 

newSuccess.php

<?php echo public_path(url_for("@post_publish", $post), true); ?> 

其中$柱所行動,幷包含最近創建的帖子!

有誰知道爲什麼會出現這個錯誤?我誤解了一些東西嗎?

感謝,

回答

2

你錯過了sfDoctrineRoute聲明:

post_publish: 
    url:  /publish/:id/:token 
    class: sfDoctrineRoute 
    options: 
    model: HookupPost 
    type: object 
    method_for_criteria: doSelectOneInactive 
    param: { module: post, action: show } 
    requirements: 
    id: \d+ 
    token: \w+ 
    sf_method: [GET] 

然後你就可以這樣做:

<?php echo public_path(url_for("post_publish", $post), true); ?> 

參考:http://www.symfony-project.org/jobeet/1_4/Doctrine/en/05

0

嘗試:

<?php echo public_path(url_for("post_publish", 
     array('id' => $post->id, 'token' => $post->token)), true); ?> 

或者類似的東西,這取決於你Post類。

+0

這有點兒蔑視點傳遞對象,所以我可以稍後修改路線 –

+0

主要目標是取出@出。 :d – samura