因此,在每次提交請求時,我的Rails服務器顯示它正在嘗試獲取徽標,然後顯示沒有用戶id = logo.png
。有人能幫幫我嗎!Rails應用程序嘗試獲取「/users/logo.png」並顯示ActiveRecord :: RecordNotFound(無法找到具有'id'=標識的用戶)
詳細的錯誤信息:
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'
這裏是我的路線文件:
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
我的用戶控制器動作:
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
模式,爲用戶:
class User < ActiveRecord::Base
has_secure_password
def admin?
self.role == 'admin'
end
end
請顯示您的創建動作 –
您必須將映像src指向'/ users/logo.png'加載到用戶#show所加載的其中一個模板中。 –
在我的頭文件佈局文件中添加了創建動作@AndreyDeineko – defiant