0

私の symfony1 プロジェクトでは、所有者のリストを取得するための URL を作成する必要があります。次のような route.yml でルートを作成しました。

#owner
owner_list:
    url: /:id/owner/list.:sf_format
    param: { module: owner, action: list }
    requirements:
        sf_format: (?:json)

次に、「apps」ディレクトリ内のプロジェクト フォルダーの「modules」フォルダーにフォルダー「owner」を追加しました。そのフォルダーに「actions」フォルダーと「actions.class.php」ファイルを追加しました。

私のアクションクラスは次のようになります。

class ownerActions extends sfActions {

    /**
     * Executes list action
     *
     * @param sfRequest $request A request object
     */
public function executeList(sfWebRequest $request)
    {...
$this->getResponse()->setContentType('application/json');
        $this->getResponse()->setContent(json_encode($this->owners));
return sfView::NONE;    }    }

url に移動するとhttp://website/project/id/owner/list.json、作成した新しいアクションに移動し、json を出力する必要があります。代わりに、403 エラーが表示されます。

このプロジェクトには、同じ方法で作成された他の多くのアクションがあり、アクセスできます。

これを修正する理由と方法はありますか?

4

2 に答える 2

0

あなたが書いた

url: /:id/owner/list.:sf_format

しかし、呼び出されたURLは

/id/owner/list.json

リテラルの「ID」の代わりにID(数値だと思います)が必要ですか?

そして、私は自分で試したことはありませんが、ルーティングは変数パラメーターを最初の url 要素として受け入れますか? これを呼び出したときの [appname]_dev.php の出力は何ですか?

于 2013-06-20T07:37:51.283 に答える
0

私は解決策を考え出しました。追加する必要がありました: options: restricted: false 私のルートに

于 2013-06-20T17:20:47.070 に答える