Ruby on Rails 4 - friendly_id 嵌套路由

Ruby on Rails 4 - friendly_id with nested routed

我有一个嵌套的玩具溃败,然后玩具会有评论。这些玩具在 friendly_id 上运行良好,但要访问网站。com/toys/toy-name/reviews/new 显示

Couldn't find Toy without an ID

我的路由文件如下所示

 resources :toys do
   resources :reviews, except: [:show, :index]
 end

评论控制器有一个名为 before_action 的 set_toy 方法,这是发生错误的地方。该方法看起来像

 def set_toy
  @toy = Toy.friendly.find(params[:id])
end

玩具控制器有一个名为 toy_params 的类似方法,其内容完全相同。

我不明白为什么评论控制器找不到我用 friendly.find 传入的玩具 ID。

谢谢

你需要

 def set_toy
   @toy = Toy.friendly.find(params[:toy_id])
 end

在您的评论控制器中。