需要帮助解决 NoMethod Error
Need help resolving NoMethod Error
我需要帮助解决错误。我已经对此进行了一段时间的研究,但似乎无法弄清楚如何解决此问题。在此先感谢您的帮助。目标是在我的评论者 table.
中更新字段 'industry'
错误:
NoMethodError (undefined method `find' for #<Reviewer:0x007fee8dbb3f40>)
我设置控制器的reviewers_controller
中包含此错误的代码:
def set_reviewer
@reviewer = current_user.reviewer.find(params[:id])
end
更新方法如下:
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
在 set_reviewer
中,我尝试了 .find_by
但没有用。我已经阅读了有关 has_one
宏和 .find()
的文档,但我只是想转转。任何帮助是极大的赞赏。非常感谢!
您可以通过以下方式设置审阅者:
@reviewer = current_user.reviewer
current_user.reviewer
将 return 关联的审阅者对象。您收到此错误是因为您试图在审阅者对象本身上调用 find。
我需要帮助解决错误。我已经对此进行了一段时间的研究,但似乎无法弄清楚如何解决此问题。在此先感谢您的帮助。目标是在我的评论者 table.
中更新字段 'industry'错误:
NoMethodError (undefined method `find' for #<Reviewer:0x007fee8dbb3f40>)
我设置控制器的reviewers_controller
中包含此错误的代码:
def set_reviewer
@reviewer = current_user.reviewer.find(params[:id])
end
更新方法如下:
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
在 set_reviewer
中,我尝试了 .find_by
但没有用。我已经阅读了有关 has_one
宏和 .find()
的文档,但我只是想转转。任何帮助是极大的赞赏。非常感谢!
您可以通过以下方式设置审阅者:
@reviewer = current_user.reviewer
current_user.reviewer
将 return 关联的审阅者对象。您收到此错误是因为您试图在审阅者对象本身上调用 find。