Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 不能';找不到使用';id'=显示_Ruby On Rails_Ruby_Devise - Fatal编程技术网

Ruby on rails 不能';找不到使用';id'=显示

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用户

今天有个问题要问你。我正在为一个站点编写用户配置文件,我遇到了这个错误

ActiveRecord::RecordNotFound位于/users/show 找不到id为show的用户
我不确定到底发生了什么,因为我以前从未真正遇到过这样的事情。下面是一些需要查看的文件-


用户\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