Ruby on rails Rails:跟随和跟随系统存在问题

Ruby on rails Rails:跟随和跟随系统存在问题,ruby-on-rails,ruby,ruby-on-rails-3,relationship,Ruby On Rails,Ruby,Ruby On Rails 3,Relationship,这就是我得到的错误 undefined method `followed_users?' for #<User:0x007fdadbf11e28> 提取的源(第1行附近): 关系模型 has_many :microposts has_many :relationships, foreign_key: "follower_id", dependent: :destroy has_many :followed_users, through: :relationships, source

这就是我得到的错误

undefined method `followed_users?' for #<User:0x007fdadbf11e28>
提取的源(第1行附近):

关系模型

has_many :microposts
has_many :relationships, foreign_key: "follower_id", dependent: :destroy
has_many :followed_users, through: :relationships, source: :followed
has_many :reverse_relationships, foreign_key: "followed_id",
                                 class_name:  "Relationship",
                                 dependent:   :destroy
has_many :followers, through: :reverse_relationships, source: :follower

def following?(other_user)
  relationships.find_by_followed_id(other_user.id)
end

def follow!(other_user)
  relationships.create!(followed_id: other_user.id)
end

def unfollow!(other_user)
  relationships.find_by_followed_id(other_user.id).destroy
end
attr_accessible :followed_id

belongs_to :follower, class_name: "User"
belongs_to :followed, class_name: "User"

validates :follower_id, presence: true
validates :followed_id, presence: true
用户控制器

  def show
    @user = User.find(params[:id])
    @micropost = Micropost.new
    @microposts = @user.microposts.paginate(page: params[:page])
  end
  def create
    @user = User.find(params[:relationship][:followed_id])
    current_user.follow!(@user)
    respond_to do |format|
      format.html { redirect_to @user }
      format.js
    end
  end

  def destroy
     @user = Relationship.find(params[:id]).followed
     current_user.unfollow!(@user)
     respond_to do |format|
      format.html { redirect_to @user }
      format.js
     end
  end
关系控制者

  def show
    @user = User.find(params[:id])
    @micropost = Micropost.new
    @microposts = @user.microposts.paginate(page: params[:page])
  end
  def create
    @user = User.find(params[:relationship][:followed_id])
    current_user.follow!(@user)
    respond_to do |format|
      format.html { redirect_to @user }
      format.js
    end
  end

  def destroy
     @user = Relationship.find(params[:id]).followed
     current_user.unfollow!(@user)
     respond_to do |format|
      format.html { redirect_to @user }
      format.js
     end
  end

你不应该只使用
if current\u user.following?(@user)
而不是第3行的
if current\u user.followind\u users?(@user)

哇,谢谢,我在学习非常规教程,它就是这样编码的!谢谢你指出这一点。干杯,我刚刚给迈克尔·哈特尔发了一封电子邮件,让他来解决这个问题。接得好,谢谢你的提醒。这是一次过度热情的搜索和替换的结果。已经修好了。
  def create
    @user = User.find(params[:relationship][:followed_id])
    current_user.follow!(@user)
    respond_to do |format|
      format.html { redirect_to @user }
      format.js
    end
  end

  def destroy
     @user = Relationship.find(params[:id]).followed
     current_user.unfollow!(@user)
     respond_to do |format|
      format.html { redirect_to @user }
      format.js
     end
  end