Ruby on rails 不能';找不到使用';id'=显示
今天有个问题要问你。我正在为一个站点编写用户配置文件,我遇到了这个错误 ActiveRecord::RecordNotFound位于/users/show 找不到id为show的用户Ruby on rails 不能';找不到使用';id'=显示,ruby-on-rails,ruby,devise,Ruby On Rails,Ruby,Devise,今天有个问题要问你。我正在为一个站点编写用户配置文件,我遇到了这个错误 ActiveRecord::RecordNotFound位于/users/show 找不到id为show的用户 我不确定到底发生了什么,因为我以前从未真正遇到过这样的事情。下面是一些需要查看的文件- 用户\u controller.rb: user.rb: class用户
我不确定到底发生了什么,因为我以前从未真正遇到过这样的事情。下面是一些需要查看的文件-
用户\u controller.rb:
user.rb:
class用户
显示操作取决于查找id
。由于您正在点击URL/users/show
,它假定您正在尝试查找id为show
的用户。相反,您应该转到像/users/1
这样的url来触发显示
操作
有一个部分指定GET/photos/:id
映射到photos\show
您试图访问的URL?
class UsersController < ApplicationController
before_action :authenticate_user!, except: [:show]
def show
@user = User.find(params[:id])
@user_bookmarks = @user.bookmarks
@liked_bookmarks = @user.likes
end
def update
if current_user.update_attributes(user_params)
flash[:notice] = "User information updated"
redirect_to edit_user_registration_path
else
flash[:error] = "Invalid user information"
redirect_to edit_user_registration_path
end
end
private
def user_params
params.require(:user).permit(:name, :avatar)
end
end
Rails.application.routes.draw do
devise_for :users
resources :users, only: [:show, :update]
post :incoming, to: 'incoming#create'
resources :topics do
resources :bookmarks, except: [:index]
end
resources :bookmarks, except: [:index] do
resources :likes, only: [:create, :destroy]
end
get 'about' => 'welcome#about'
root to: 'welcome#index'
end
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :confirmable
mount_uploader :avatar, AvatarUploader
has_many :topics, dependent: :destroy
has_many :bookmarks, dependent: :destroy
has_many :likes, dependent: :destroy
validates :name, presence: true
def admin?
role == 'admin'
end
def moderator?
role == 'moderator'
end
def member?
role == 'member'
end
def liked(bookmark)
likes.where(bookmark_id: bookmark.id).first
end
end