Also bei jeder Anfrage senden mein Rails Server zeigt es versucht um das Logo zu erhalten und dann zeigt es keinen Benutzer mit id = logo.png
. Kann mir bitte jemand helfen?Rails App versucht GET "/users/logo.png" und zeigt ActiveRecord :: RecordNotFound (Benutzer mit 'ID' = logo) nicht gefunden mit jedem Senden
Detaillierte Fehlermeldung:
Started GET "https://stackoverflow.com/users/2" for 127.0.0.1 at 2016-10-02 19:01:18 +0530
Processing by UsersController#show as HTML
Parameters: {"id"=>"2"}
User Load (0.0ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 2 LIMIT 1
User Load (0.5ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 2 LIMIT 1
Rendered users/show.html.erb within layouts/application (1.8ms)
Rendered layouts/_header.html.erb (0.0ms)
Rendered layouts/_sidebar.html.erb (1.0ms)
Completed 200 OK in 130ms (Views: 126.9ms | ActiveRecord: 0.5ms)
Started GET "https://stackoverflow.com/users/logo.png" for 127.0.0.1 at 2016-10-02 19:01:18 +0530
Processing by UsersController#show as PNG
Parameters: {"id"=>"logo"}
User Load (1.0ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 0 LIMIT 1
Completed 404 Not Found in 3ms (ActiveRecord: 1.0ms)
ActiveRecord::RecordNotFound (Couldn't find User with 'id'=logo):
app/controllers/users_controller.rb:43:in `show'
Hier ist meine Routen-Datei:
Rails.application.routes.draw do
root 'dashboard#show'
get 'signup' => 'users#new'
get 'admins' => 'users#admins_dashboard'
delete 'users' => 'users#destroy'
get '/users/edit/:id' => 'users#edit'
resources :users
get 'login' => 'sessions#new'
post 'login' => 'sessions#create'
delete 'logout' => 'sessions#destroy'
end
Mein Controller-Aktion für den Anwender:
def show
@user = User.find(params[:id])
end
def create
@user = User.new(user_params)
if @user.save
session[:user_id] = @user.id
redirect_to '/'
else
redirect_to '/signup'
end
end
das Modell für den Anwender:
class User < ActiveRecord::Base
has_secure_password
def admin?
self.role == 'admin'
end
end
Bitte zeigen Sie Ihre Erstellungsaktion an –
Sie müssen ein Image src auf '/ users/logo.png' in einer der Templates zeigen, die auf Benutzer geladen sind # show. –
Die create action @AndreyDeineko – defiant