Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.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 - Fatal编程技术网

Ruby on rails 作为跟随者-缺少所需的键:[:id]

Ruby on rails 作为跟随者-缺少所需的键:[:id],ruby-on-rails,ruby,Ruby On Rails,Ruby,我试图将acts_as_follower gem添加到我正在开发的rails应用程序中,但我似乎总是遇到一个异常错误,即用户id为零。浏览我在谷歌上找到的每一个教程,似乎没有一个能解决我的问题 用户控制器: class UsersController < ApplicationController def follow @user = User.find(params[:id]) current_user.follow(@user) redirect_to :

我试图将acts_as_follower gem添加到我正在开发的rails应用程序中,但我似乎总是遇到一个异常错误,即用户id为零。浏览我在谷歌上找到的每一个教程,似乎没有一个能解决我的问题

用户控制器:

class UsersController < ApplicationController

  def follow
    @user = User.find(params[:id])
    current_user.follow(@user)
    redirect_to :back
  end

  def unfollow
    @user = User.find(params[:id])
    current_user.stop_following(@user)
    redirect_to :back
  end

end
我要添加到配置文件视图的链接:

<%= link_to "Follow", follow_user_path(@user)%>


我在路线上写错什么了吗?因为当我在控制台中测试它时,它工作了。错误开始显示我试图让它真正为用户服务。

您能发布准确的错误消息吗?最可能的解释是
@user
为零,而您打算使用局部变量
user
。我尝试了两者。如果我使用
user
它将通过一个未定义的局部变量instead@Turk错误是
没有路由匹配{:action=>“follow”,:controller=>“posts”,:id=>nil}缺少必需的键:[:id]
class Post < ActiveRecord::Base
    belongs_to :user
    mount_uploader :avatar, AvatarUploader
    acts_as_followable
end
Rails.application.routes.draw do

  resources :posts

  devise_for :users
  root 'page#index'
  get '/users/:id' => 'page#profile'
  get 'page/feed'
  get 'page/home'

  resources :users do
    member do
      get :follow
      get :unfollow
    end
  end
end
<%= link_to "Follow", follow_user_path(@user)%>