Rails自定义路由,参数不起作用 - 没有路由匹配[GET]

时间:2014-10-21 12:31:52

标签: ruby-on-rails ruby ruby-on-rails-3 routing

我正在尝试创建一个自定义路由,将reviews的范围编入shop_id

我在 routes.rb

中有这个
get '/reviews/:shop_id'   => 'reviews#index',         :as => :reviews

来自我的佣金路线的输出:

reviews GET    /reviews/:shop_id(.:format)       reviews#index

为了完成,这是我的ReviewsController

class ReviewsController < BaseController
  def index
    @shop = Shop.find params[:shop_id]
    @reviews = @shop.reviews.all
  end
end

当我尝试加载http://testshop.dev:3000/reviews/2时,我收到此错误:

No route matches [GET] "/reviews/2"

为什么呢?我该如何解决?

1 个答案:

答案 0 :(得分:0)

对我而言,这是一个完全不同的原因。我的基本form_tag/forgot-password动作。

我错过了领先的/,因此在提交表单时,它指向:/forgot-password/forgot-password,弄乱我路线中的/forgot-password/:attribute