我正在尝试创建一个测试餐厅应用,因此我的数据库中的条目可能是:
name: "Kentucky Fried Chicken"
type: "Fast Food"
在应用的主页上,您会看到一个餐馆列表。但是,用户可以单击该列表上的任何项目以进入更详细的页面。
我宁愿网址看起来不像:
/餐厅/ 123
但更像是:
/fast-food/kentucky-fried-chicken
/japanese/sushi-r-us
/italian/some-italian-restaurant-name
这可能与Meteor& amp;流星路由器?谢谢!
顺便说一句,现在我的路线非常简单:Meteor.Router.add({
'/': 'home',
'/admin': 'admin',
'/403': 'unauthorized'
});
答案 0 :(得分:2)
您可以使用比您现在使用的路线更复杂的路线,例如:
Meteor.Router.add({
'/:type/:restaurant': function(type, restaurantName) {
var restaurant = Retaurants.findOne({type: type, name: restaurantName});
Session.set('restaurantFromUrl', restaurant);
// Now your restaurant is in the "restaurantFromUrl" Session
return 'restaurantPage';
}
});
/:type和/:restaurant将被传递到回调中,并且是您在URL中设置的内容。哦,你可能想要添加一个/ show-restaurant / type / name /,否则所有匹配模式“/ whatever / url”的url(未在其他路由中设置)将尝试获取餐厅
您需要知道的一切都在这里:https://github.com/tmeasday/meteor-router
哦,这只是一个例子。没有测试过,但它应该可以工作。
答案 1 :(得分:0)
大多数人使用的Meteor的当前路线包是:Iron Router