爲目標如果我有像'/ some/url/path/foo/bar1','/ some/url/path/foo/bar2','/ some/url/path/foo/bar3'等等。我怎樣才能編寫一個單獨的路徑,將url指向foo控制器以及bar1,bar2,bar3等的動作。如何編寫一個路徑,以目標路徑參數
EG。 (只有這不起作用。)
'/一些/ URL /路徑/富/:酒吧': 'foo.:bar'
爲目標如果我有像'/ some/url/path/foo/bar1','/ some/url/path/foo/bar2','/ some/url/path/foo/bar3'等等。我怎樣才能編寫一個單獨的路徑,將url指向foo控制器以及bar1,bar2,bar3等的動作。如何編寫一個路徑,以目標路徑參數
EG。 (只有這不起作用。)
'/一些/ URL /路徑/富/:酒吧': 'foo.:bar'
有不同的方式來做到這一點。我可能會建議你在你的控制器中不需要不同的動作,但只需要一個動作響應url參數(例如bar
)。這將更符合公約。
但是,您可以通過以下操作完成所需操作。
創建你的路線
'/some/url/path/foo/:action': {
controller: 'FooController',
action: 'getAction'
}
然後在該控制器創建getAction
方法。此方法現在可以使用req.param.action
變量來查找執行相應操作。
FooController.getAction = function(req,res,next){
return sails.controllers.foo[req.param.action](req,res,next)
}
我的問題不夠具體。 url路徑實際上包含一些額外的部分,它們並未反映在控制器文件夾結構中。 (看我編輯的問題。)它仍然可能是這樣嗎? – SystemicPlural
根據您更新的問題更新了答案 – Meeker
你是什麼意思的行動? – B3rn475
控制器操作。 – SystemicPlural