2010-04-29 17 views
0

我有一个名为'audioclip'的导轨模型。我原创地创建了一个'new'动作脚手架,我用'new_record'和'new_upload'取代了,因为有两种方法可以将音频附加到这个模型上。ActionController :: MethodNotAllowed

去/ audioclips/new_record不起作用,因为它需要'new_record',就好像它是一个ID。我试图创建'/ record_clip'和'/ upload_clip'路径,而不是改变它。

所以在我的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

回答

1

是的,你的两条路线与您的映射资源(map.resources => :audioclips位)发生冲突

如果你想继续。使用资源,我建议你把上面一行:

map.resources => :audioclips, 
       :new => { 
        :new_record_clip => :post, 
        :new_upload_clip => :post } 

如果你想要更多的信息,轨道导向这个主题难以置信的帮助:

http://guides.rubyonrails.org/routing.html#adding-more-restful-actions

+0

谢谢! 我结束了这个工作,以创建路径audioclips /新/记录和audioclips /新/上传这对我来说很好 – Lowgain 2010-04-29 20:39:42

相关问题