修改URL模式Ruby Rails

ika*_*nyu 3 ruby routes ruby-on-rails path

我正在尝试显示一个页面,以显示当前用户的所有产品.因此,我在产品视图下创建了一个新页面showall.html.erb.

我做了以下事情:

的ProductsController

def showall
  @products = current_user.products
end
Run Code Online (Sandbox Code Playgroud)

路线

resources :products do
  get :showall
end
Run Code Online (Sandbox Code Playgroud)

我知道由于URL模式的嵌套资源

 /products/:product_id/showall(.:format)
Run Code Online (Sandbox Code Playgroud)

我如何实际摆脱product_id部分以实现/ products/showall有一个特殊页面来呈现当前用户的所有产品.

Paw*_*zak 5

您应该按如下方式更改路径定义:

resources :products do
  collection do 
    get :showall
  end
end
Run Code Online (Sandbox Code Playgroud)

查看相应的文档.

希望有所帮助!