Ruby on rails 如何在Rails中进行POST调用而不自动转到默认的create方法?

Ruby on rails 如何在Rails中进行POST调用而不自动转到默认的create方法?,ruby-on-rails,rest,post,http-post,Ruby On Rails,Rest,Post,Http Post,我最近在Rails上遇到了一个问题,到目前为止,我看到的所有通过POST发送数据的示例代码都被路由到这个默认的根URL,它会自动调用控制器中的#create方法。我想知道如何制作一个表单,通过POST将数据发送到我定义的另一个方法 在这个特定的例子中,我有一个小部件,需要允许文件上传。但是,此上载可能导致创建或替换,但在这两种情况下,它仅特定于页面上的此小部件。还有其他小部件也可以创建东西,我需要将它们的逻辑分开,而不是仅仅通过一些创建方法来路由它们。我该怎么做呢?这是您制作自定义邮件路线的方法

我最近在Rails上遇到了一个问题,到目前为止,我看到的所有通过POST发送数据的示例代码都被路由到这个默认的根URL,它会自动调用控制器中的#create方法。我想知道如何制作一个表单,通过POST将数据发送到我定义的另一个方法


在这个特定的例子中,我有一个小部件,需要允许文件上传。但是,此上载可能导致创建或替换,但在这两种情况下,它仅特定于页面上的此小部件。还有其他小部件也可以创建东西,我需要将它们的逻辑分开,而不是仅仅通过一些创建方法来路由它们。我该怎么做呢?

这是您制作自定义邮件路线的方法

在路线上,

resources:evers做什么
成员do
发布“定制发布”
结束
结束
在你的控制器里

def customizedpost
  # all the post stuff
end
以你的形式为例

= form_for @whatever, url: customizedpost_whatever_path, html: { method: :post } do |f|

谢谢,特别是我用HAML发布了这个表单,因为我用的是HAML而不是ERB。顺便问一下,在有资源块的路由中,有没有一种不用资源就可以做到这一点的方法?到目前为止,我一直在通过match one行程序进行所有路由,因为在这个rails应用程序中没有实际使用ActiveRecord for models,所有其他东西都在使用GET来传递数据。
资源的位置:whatevers blah
应该无关紧要,只要你不在路线的后半部分覆盖路线。很抱歉,我不得不编辑它,因为当我打算只添加一个新行时,我按了enter键,而不是实际发送评论文章。当然,一行代码看起来像这样。匹配
“whatevers/customizedpost”=>“whatevers#customizedpost”,via::post
我也会退房。谢谢!你们不知道我用谷歌搜索了多少次,也并没有遇到过一个添加了“via:post”部分的路由行的例子。你不知道你刚才帮了我多少忙。