请原谅我的蹩脚问题,但我被困住了。 我的routes.rb文件简单明了,我有:
resource :books do
resource :reviews
end
运行佣金路线| grep评论给了我:
books_reviews POST /books/reviews(.:format) reviews#create
new_books_reviews GET /books/reviews/new(.:format) reviews#new
edit_books_reviews GET /books/reviews/edit(.:format) reviews#edit
GET /books/reviews(.:format) reviews#show
PUT /books/reviews(.:format) reviews#update
DELETE /books/reviews(.:format) reviews#destroy
我的问题是:show和edit动作中的id param在哪里?根据本教程:http://guides.rubyonrails.org/routing.html路由中应该有“id”参数,如下所示:
new_books_reviews GET /books/:id/reviews/new(.:format) reviews#new
edit_books_reviews GET /books/:id/reviews/edit(.:format) reviews#edit
GET /books/:id/reviews(.:format) reviews#show
除此之外,展示,更新和销毁行动的路线在哪里? 我认为我缺少一些基本的东西,因为这真的很糟糕。运行Rails 3.2.11 谢谢你的帮助
答案 0 :(得分:2)
尝试使用资源而不是资源。 Rails认为当你使用单数形式并且不需要ID时,只有一个。
有关详细信息,请参阅guide
的“奇异资源”部分答案 1 :(得分:0)
使用resources
而不是resource
将确保Rails占用了很多资源。
您的路线应如下所示
resources :books do
resources :reviews
end