没有路线匹配[GET] / places / photos

时间:2018-02-09 02:32:04

标签: ruby-on-rails ruby

我正在开发一个rails应用程序,并且最近添加了一个“添加照片”选项。但是,当我点击按钮时,我会看到

  

没有路由匹配[GET]“错误消息。

我在这里检查了其他答案,这些信息对我来说似乎没什么帮助。

这是我的routes.rb文件的代码。

Rails.application.routes.draw do
  devise_for :users
  root 'places#index'

  resources :places do
    resources :comments, only: :create
    resources :photos, only: :create
    end
    resources :users, only: :show
end

2 个答案:

答案 0 :(得分:1)

resources :photos, only: :create将匹配路线:POST /places/:id/photos,而不是GET /places/photos

您可以按如下方式修改位:

resources :places do
  resources :comments, only: :create
  resources :photos, only: :create
  collection do
    resources :photos, only: :index
  end
end

您可以在http://guides.rubyonrails.org/routing.html了解详情,了解更多信息。

答案 1 :(得分:0)

最简单的方法就是在不使用resources的情况下为行动添加路线:

Rails.application.routes.draw do
  ...
  get 'route-name-you-want' => 'your_controller#your_action'
end