Ruby on rails Tyring将追随者添加到microposts,错误:';缺少参数microposts';

Ruby on rails Tyring将追随者添加到microposts,错误:';缺少参数microposts';,ruby-on-rails,ruby,Ruby On Rails,Ruby,我一直在尝试使用以下控制器将追随者添加到MicroPost: microposts_controller.rb: def follow @user = current_user set_micropost if @micropost.user_id != current_user.id @micropost.followed += 1 @micropost.save end end 问题是总是有一个“缺少参数”错误“microposts”。这意味着我没有将@mi

我一直在尝试使用以下控制器将追随者添加到MicroPost:

microposts_controller.rb:

def follow
  @user = current_user
  set_micropost
  if @micropost.user_id != current_user.id
    @micropost.followed += 1
    @micropost.save
  end
end
问题是总是有一个“缺少参数”错误“microposts”。这意味着我没有将
@micropost
传递给控制器。这个


所以我不知道我做错了什么。定义了适当的路由(错误说明这是一个
microsposts#create
错误,我不确定原因。

这里可能有一些不太正确的地方,但第一个突出的地方是,您似乎误解了
链接到
方法
选项的用途。这里是“方法”不是指控制器的方法名称,而是指用于请求的HTTP方法(如POST、PUT、DELETE等),因此此链接可能无意中调用了
create
操作,而不是
follow
操作

有关添加其他操作的信息,请参阅上的布线指南中的部分


作为创建添加追随者的方法的简要示例:

如果您的路线中有定义为资源的micropost:

resources :microposts
并希望有一个新的行动(如“遵循”)适用于个人微操作,您可以将您的资源更新为:

resources :microposts do
  post 'follow', on: :member
end

然后,您可以在
micropost\u controller.rb
中添加一个
follow
方法,类似于您已经完成的操作。编辑路由后,这还将提供一个
follow\u micropost\u path
帮助函数,可用于链接到此操作。

非常感谢,我将如何创建一个新的方法来添加追随者?抱歉关于不可靠的代码,我只是真的试图修复参数问题,并且还添加了一条由rails出于任何原因生成的额外“不可靠”路线,感谢您的帮助!