【问题标题】:Rails custom route with parameters not working - No route matches [GET]参数不起作用的Rails自定义路由 - 没有路由匹配[GET]
【发布时间】:2014-10-21 12:31:52
【问题描述】:

我正在尝试创建一个自定义路由,该路由以shop_id 的范围为索引reviews

我的 routes.rb 中有这个:

get '/reviews/:shop_id'   => 'reviews#index',         :as => :reviews

我的 rake 路由的输出:

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"

为什么?我该如何解决?

【问题讨论】:

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


【解决方案1】:

对我来说,这是一个完全不同的原因。我有一个基本的form_tag,它有一个/forgot-password 操作。

我错过了前导/,所以当表单提交时,它会指向:/forgot-password/forgot-password,在我的路由中弄乱了/forgot-password/:attribute

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-24
    • 2016-04-29
    • 2014-12-12
    • 1970-01-01
    • 2013-07-19
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    相关资源
    最近更新 更多