2016-04-17 4 views
1

私はCRUDアプリケーションを作成していますが、破棄以外はすべて機能します。私が編集ページにいるときに削除ボタンをクリックすると、次のエラーが表示されます。TravelersController#showのActiveRecord :: RecordNotFound、 'id' = 14、抽出されたソース(行番号22 ):destroyメソッド「IDを持つユーザーを見つけることができませんでした」を使用している場合

def show 
    @traveler = Traveler.find(params[:id]) 
end 

私のユーザーリストに戻っても、そのエラーが表示されてもアプリケーションはそのユーザーを削除します。ここで

は私のコントローラのコードです:

def show 
    @traveler = Traveler.find(params[:id]) 
    end 

    def destroy 
    Traveler.destroy(params[:id]) 
    redirect_to traveler_path 
    end 

そして、私の編集ページ:

<%= form_for @traveler do |f| %> 
     <%= f.label :name %> 
     <%= f.text_field :name %> 

     <%= f.label :age %> 
     <%= f.number_field :age %></br> 

     <%= f.submit %> 
    <% end %> 
    <%= button_to "DELETE", traveler_path(@traveler), :method => :delete %> 
+0

あなたのapplication.jsに/// = jquery_ujsが必要ですか? ---また、ログファイルのボタンの削除をクリックすると、「DELETEを開始しました」と表示されていますか/ traveler/32 " – trh

答えて

6

あなたが旅行者を破壊するとき、あなたはその後、traveler_pathにリダイレクトするので、それは、ためshowアクションである、ですあなたが今削除した旅行者。それはその旅行者に負けようとしていて、失敗しています。

これを修正するには、旅行者のインデックスパスなど、別の場所にリダイレクトするように変更してください。

関連する問題