我有一种叫“有声唇”的导轨模型。我创建了一个带有‘新’动作的支架,我用'new_record‘和’new_record‘代替了它,因为有两种方法可以将音频附加到这个模型上。
去/audioclips/new_record不能工作,因为它接受'new_record‘,就好像它是一个id一样。我并没有改变这一点,而是尝试创建‘/记录器_剪辑’和‘/upload_剪辑’路径。
所以在我的routes.db里我有:
map.record_clip '/record_clip', :controller => 'audioclips', :action => 'new_record'
map.upload_clip '/upload_clip', :controller => 'audioclips', :action => 'new_upload'当我导航到/record_clip时,我得到
ActionController::MethodNotAllowed
Only get, head, post, put, and delete requests are allowed.我还不太熟悉路由的内部运作。这里有什么问题?(如果有帮助的话,我在map.resources =>上有以下两种说法:audioclips
发布于 2010-04-29 20:24:32
是的,您的两条路由与映射的资源( map.resources => :audioclips位)是冲突的。
如果您想继续使用资源,我建议您将该行更改为:
map.resources => :audioclips,
:new => {
:new_record_clip => :post,
:new_upload_clip => :post }如果您需要更多的信息,Rails指南在这个主题上是非常有用的:
http://guides.rubyonrails.org/routing.html#adding-more-restful-actions
https://stackoverflow.com/questions/2740466
复制相似问题