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" 的动作。
我有一个要显示的页面,它不是索引、显示、编辑等。我想要的页面是 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" 的动作。