我有一个路线:如何在函数中传递参数时正确路由?
Router::connect('/restaurants/*', array('controller'=>'restaurants', 'action' => 'view'));
,当用户访问site.com/restaurants/Seafood,他们得到的海鲜餐馆列表。那么,问题是,现在我想在我的控制器中添加一个编辑功能,并将site.com/restaurants/edit/4路由到我的控制器的视图功能。如何告诉我的路由发送/餐馆/编辑到edit()函数?
我明白贪婪的星星是个坏主意,但我不知道如何让我的view()函数在没有它的情况下正常工作。这里是我的视图代码:
public function view($type=null) {
$this->set('title', $type.' restaurants in and near Gulf Shores');
$this->paginate['Restaurant']=array(
'limit'=>9,
'order'=>array(
'id'=>'asc'
),
'joins' => array(
array(
'table' => 'cuisines_restaurants',
'alias' => 'CuisinesRestaurant',
'type' => 'inner',
'conditions'=> array('CuisinesRestaurant.restaurant_id = Restaurant.id')
),
array(
'table' => 'cuisines',
'alias' => 'Cuisine',
'type' => 'inner',
'conditions'=> array(
'Cuisine.id = CuisinesRestaurant.cuisine_id'
)
)
)
);
$this->set('restaurantType',$this->paginate($this->Restaurant, array('cuisine_type'=>$type)));
}
是的,我已经尝试过,并且它杀死了/饭店/海鲜(或任何其他餐厅类型)的任何请求。它转而使用edit()函数。 – huzzah 2012-02-23 21:57:19
我想通了!我的beforeFilter()函数不包括我的任何视图。你的额外贪婪的明星建议也有助于我的网站安全,所以谢谢! – huzzah 2012-02-23 22:09:36