2017-09-19 1 views
-1

Ich habe eine CURD-Operation erstellt. Immer wenn ich auf "Bearbeiten", "Zeigen", "Löschen" klicke, wird der Fehler angezeigt. "Kann nicht gefunden werden mit 'id' = bearbeiten" "Kann nicht gefunden werden mit 'id' = anzeigen" "Willkommen mit 'id' nicht gefunden = zerstören ". Ich habe viel versucht, um diesen Fehler zu lösen, aber ich werde mehr und mehr verwirrt. Bitte Hilfe! Practice.controllerActiveRecord :: RecordNotFound in PracticeController # show Konnte nicht finden Willkommen mit 'ID' = bearbeiten

class PracticeController < ApplicationController 
 
\t def index 
 
\t \t @welcome= Welcome.all; 
 
\t end 
 
\t 
 
\t def show 
 
\t \t @welcome = Welcome.find(params[:id]) 
 
\t end 
 

 
\t def new 
 
\t \t @welcome= Welcome.new; 
 
\t end 
 

 
\t def edit 
 
\t \t @welcome = Welcome.find(params[:id]) \t 
 
\t end 
 

 
\t def create 
 
\t \t @welcome=Welcome.new(params.require(:welcome).permit(:name,:address,:city)) ; 
 
\t \t \t if @welcome.save 
 
\t \t #redirect_to({ action: 'practices' }, alert: "Record saved") 
 
\t \t redirect_to :root 
 
\t \t \t else 
 
\t \t \t render :action=>"new" 
 
\t end 
 

 
\t def update 
 
\t \t @welcome = Welcome.find(params[:id]) 
 
    
 
\t \t if @welcome.update(welcome_params) 
 
\t \t redirect_to @welcome 
 
\t \t else 
 
\t \t render 'edit' 
 
\t \t end 
 
\t end 
 

 
\t def destroy 
 
\t \t @welcome = Welcome.find(params[:id]) 
 
\t \t @welcome.destroy 
 
    
 
\t \t redirect_to welcome_path 
 
\t end 
 
    end 
 
end

**

<h3>Please fill the following details</h3> 
 
<hr> 
 
<%= form_with scope: :welcome , local: true do |f| -%> 
 
<b><i>Name</b></i>:&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp<%= f.text_field :name %> </br></br> 
 
<b><i>Address</b></i>:&nbsp &nbsp &nbsp &nbsp&nbsp <%= f.text_area :address %> </br></br> 
 
<b><i>City</b></i>:&nbsp &nbsp &nbsp &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp <%= f.text_field :city %> </br></br> 
 
<%= f.submit "Submit", class: "btn-submit" %> 
 

 
<% end %> 
 

 
<h2>Listing details</h2> 
 
    
 
<table> 
 
    <tr> 
 
    <th>Name</th> 
 
    <th>Address</th> 
 
    <th> City</th> 
 
    </tr> 
 
    
 
    <% @welcome.each do |welcome| %> 
 
    <tr> 
 
     <td><%= welcome.name %></td> 
 
     <td><%= welcome.address %></td> 
 
\t <td><%= welcome.city %></td> 
 
     <td><%= link_to 'Show', {:controller => "practice", :action => "show", :welcome => welcome.id } %></td> 
 
\t <td><%= link_to 'Edit', {:controller => "practice", :action => "edit", :welcome=> welcome.id } %></td> 
 
\t <td><%= link_to 'Delete', {:controller => "practice", :action => "destroy", :welcome=> welcome.id }, 
 
\t \t \t method: :delete, 
 
\t \t \t data:{confirm:'Confirm Delete?'}%></td> 
 
    </tr> 
 
    <% end %> 
 
</table>

** edit.html.er b

<h1>Edit Information</h1> 
 
    
 
<%= form_with(controller: :action=>"edit", local: true) do |form| %> 
 
    
 
    <p> 
 
    <%= form.label :name %><br> 
 
    <%= form.text_field :name %> 
 
    </p> 
 
    
 
    <p> 
 
    <%= form.label :address %><br> 
 
    <%= form.text_area :address %> 
 
    </p> 
 

 
    <p> 
 
\t <%=form.label :city %><br> 
 
\t <%=form.text_field :city %> 
 
    </p> 
 

 
    <p> 
 
    <%= form.submit %> 
 
    </p> 
 
    
 
<% end %>

Antwort

0

Unten sind problematisch Linien:

Im Hinblick

<td><%= link_to 'Show', {:controller => "practice", :action => "show", :welcome => welcome.id } %></td> 

im Regler

def show 
     @welcome = Welcome.find(params[:id]) 
end 

Sie übergeben den ID-Parameter in :welcome im Blick und versuchen, auf denselben im Controller durch :id zuzugreifen, der das Problem verursacht. Ändern Sie den Controller wie folgt, um es zu beheben.

def show 
    @welcome = Welcome.find(params[:welcome]) 
end 
+0

Hey danke Pranav, es hat funktioniert. Zeige Aktion wird jetzt ausgeführt. Aber jetzt gibt es einen neuen Fehler, den ich in Bearbeitungsaktion bekomme. – Shabbir

+0

Wenn diese Antwort das Problem behebt, dann bitte als richtige Antwort markieren. Bitte stellen Sie eine neue Frage mit der genauen Fehlermeldung, die Sie bekommen, damit ich Ihnen helfen kann. Vielen Dank! –

+0

Ok pranav und noch einmal vielen Dank – Shabbir

Verwandte Themen