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