我有一个名为coves_controller的模型和控制器。我现在在routes.rb文件中有这一行:root:to => 'coves #index',:as => '海湾'
当我发表评论并转到localhost:3000 / coves时,一切正常。当我取消注释它时,我无法创建一个新的cove对象..没有错误语句,它只是不添加到数据库。
当我最后将'coves'改为'cove'时,我可以创建新的海湾对象,但在这样做之后我会被送到海湾/ .5这应该是海湾/ 5
答案 0 :(得分:3)
如果你看how the root path is defined,它只是一种为你创建命名路线的便利方法。用于加载选项的reverse_merge
方法意味着您的:as => 'coves'
部分哈希将被忽略并更改回:as => :root
。使用root
方法时,无法重命名根路径。
正如@apneadiving所说,你需要使用resources :coves
为它获取RESTful CRUD路由。
答案 1 :(得分:2)
我猜与以下创建的路径存在冲突:
resources :coves
这是基本的REST行为。
不要为root添加'as'语句,root只是root:)