Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.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 需要帮助解决NoMethod错误吗_Ruby On Rails_Has One - Fatal编程技术网

Ruby on rails 需要帮助解决NoMethod错误吗

Ruby on rails 需要帮助解决NoMethod错误吗,ruby-on-rails,has-one,Ruby On Rails,Has One,我需要帮助解决一个错误。我已经研究了一段时间,但似乎不知道如何解决这个问题。提前感谢您的帮助。目标是更新“我的审阅者”表中的“行业”字段 错误: NoMethodError (undefined method `find' for #<Reviewer:0x007fee8dbb3f40>) 以下是更新方法: def update if @reviewer.update(reviewer_params) render json: @reviewer e

我需要帮助解决一个错误。我已经研究了一段时间,但似乎不知道如何解决这个问题。提前感谢您的帮助。目标是更新“我的审阅者”表中的“行业”字段

错误:

NoMethodError (undefined method `find' for #<Reviewer:0x007fee8dbb3f40>)
以下是更新方法:

  def update
    if @reviewer.update(reviewer_params)
      render json: @reviewer
    else
      render json: @reviewer.errors, status: :unprocessable_entity
    end
  end
以下是我的模型:

class Review < ApplicationRecord
  belongs_to :reviewer
end


class User < ApplicationRecord
  include Authentication
  has_one :reviewer
  has_many :reviews, through: :reviewer
end

class Reviewer < ApplicationRecord
  belongs_to :user
end
class Review

set\u reviewer
中,我尝试了
。通过
查找\u,但没有成功。我已经阅读了
has_one
宏和
.find()
上的文档,但我只是在转动轮子。非常感谢您的帮助。非常感谢你

您可以通过以下操作设置审阅者:

@reviewer = current_user.reviewer

当前用户。审阅者将返回关联的审阅者对象。出现此错误是因为您试图对reviewer对象本身调用find

必须参考另一个模型,第三个模型,您有名为
reviewers
的模型吗?@SebastiánPalma,感谢您的关注。那是个错误。我用模特更新了我原来的帖子。我仍然得到同样的错误。这是非常有帮助的!谢谢你的反馈!不客气!如果这个答案对你有帮助,请接受。
@reviewer = current_user.reviewer