2017-05-08 12 views
-1

私は表示したいページがインデックス、ショー、編集などではありません。私が望むページは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" 

アプリ/ビュー/共有/ _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> 

私は上記のリンクのそれのエラーをクリックしてください

enter image description here

偽陽性のような私のrspecテストに合格します:

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

答えて

1

コードの下に試してみてください。

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

問題:あなたのルート "/犬/採用は" idを持つアクションとしてショーで犬コントローラに行く: "養子縁組"。

+0

これは簡単でした。ルートでは、注文が重要です。私はちょうど今何年も前に似たようなものに走っていることを覚えている。ありがとう、@ puneet18! – kyle

+0

@kyleはあなたのために働くなら私の答えを受け入れます。ありがとうございます – puneet18

+0

私はします。私は今から1分まで受け入れることができません。 – kyle

関連する問題