Rails link 页面没有路由到我想要的地方

Rails link to page not routing to where I want

我有一个要显示的页面,它不是索引、显示、编辑等。我想要的页面是 adoption.html.erb,但由于某种原因它正在获取显示页面 ID。在我的 views/shared/_header.html.erb 文件中,我有 <li><%= link_to "More About Dog Adoption", adoption_info_path, class: "dog-adopt-info" %></li>。应该到这里:adoption.html.erb,但错误地是:Couldn't find Dog with 'id'=adoption。我真的被卡住了,不确定为什么要从节目中获取 id。想法? P.S。如果您需要更多信息,请告诉我。

class DogsController < ApplicationController

  def index
    @dogs = Dog.all
  end

  def show
    @dog = Dog.find(params[:id])
  end

  def adoption
  end

end

routes.rb

resources :dogs, only: [:index, :show]
get "dogs/adoption", as: "adoption_info"

app/views/shared/_header.html.erb

 <a class="page-scroll" href="#about">About Dog Adoption</a>
 <ul class="about-dog-adoption">
   <li><%= link_to "More About Dog Adoption", adoption_info_path, class: "dog-adopt-info" %></li>
 </ul>

当我点击上面的 link 时出现以下错误:

我的 rspec 测试通过,但似乎是误报:

context "#dogs_adoption" do
  it "renders more info about dog adoptions" do
     get :adoption
     expect(response).to have_http_status(200)
  end
end

试试下面的代码:

get "dogs/adoption", as: "adoption_info"
resources :dogs, only: [:index, :show]

问题:您的路线“/dogs/adoption”进入狗控制器并显示为 ID 为:"adoption" 的动作。