我对rails很新,但我已经完成了一些项目,包括Michael Hartl教程。 我正在构建一个存储虚拟衣柜的简单应用程序。 我有2个表格 - 用户和项目 - 用户has_many项目和项目belongs_to用户。 我成立了我的routes.rb文件中的下列具名的路线:Rails 3 - 命名的路由重定向到错误的控制器动作
match "/wardrobe", to: "items#index"
然而,当我尝试去到我的浏览器/衣橱,我得到一个没有路由匹配错误如下:
No route matches {:action=>"show", :controller=>"items"}
我不知道为什么当我通过索引操作命名路由时,rails会通过show动作路由。 这些都是在我的上述ItemsController的相关行动:
def show
@item = Item.find(params[:id])
end
def index
@items = Item.all
end
重定向被称为上创建如下:
def create
@item = Item.new(params[:item])
if @item.save
flash[:success] = "Item added"
redirect_to wardrobe_path
else
render 'new'
end
end
耙路线提供以下功能:
wardrobe /wardrobe(.:format) items#index
所以,我知道路线存在。 任何人都可以解释这里发生了什么?我该如何解决它?提前
尝试改变: 匹配 “/衣橱”,以 “项目#指数” 到 GET “/衣橱”,以 “项目#指数” 并使用新的错误调试。 – doug 2013-01-29 00:35:52
另外,什么耙路线说? – doug 2013-01-29 00:43:29