Ruby on rails Rails正在使用补丁,而我希望它使用POST

Ruby on rails Rails正在使用补丁,而我希望它使用POST,ruby-on-rails,rest,Ruby On Rails,Rest,我正在申请评估学生作业。当一个学生创建一个新帖子时,Rails大部分时间都使用Post动词,生活是美好的。但是,如果工作延迟,并且帖子被评分为缺少,那么Rails将尝试使用补丁动词而不是帖子创建帖子(使用相同的路径),创建帖子失败 我在Heroku的日志中看到的错误消息是: ActionController::RoutingError (No route matches [PATCH] "/users/55/posts”) 据我所知,这两种情况之间的区别在于,当Rails决定使用补丁动词时,存

我正在申请评估学生作业。当一个学生创建一个新帖子时,Rails大部分时间都使用Post动词,生活是美好的。但是,如果工作延迟,并且帖子被评分为缺少,那么Rails将尝试使用补丁动词而不是帖子创建帖子(使用相同的路径),创建帖子失败

我在Heroku的日志中看到的错误消息是:

ActionController::RoutingError (No route matches [PATCH] "/users/55/posts”)
据我所知,这两种情况之间的区别在于,当Rails决定使用补丁动词时,存在一个Score实例。分数模型包括以下行:

  belongs_to :post, touch: true
这是造成行为差异的原因吗?我想可能是这样,但是在创建缺少的作业的分数时没有创建Post对象(我检查的方式是通过键入
Post.where(user:Score.user)
to
bin/rails c
。结果是一个空数组


有没有一种方法可以强制Rails在需要修补程序时执行POST?

如果没有更多信息,很难诊断。您可以使用@user,method::POST do | f |来明确指示Rails使用POST方法。

哪些信息会有帮助?我不确定添加哪些信息会有帮助。