从静态站点向Rails应用发送POST请求可以通过以下步骤实现:
PostsController
的控制器:
rails generate controller Posts
这将在app/controllers
目录下创建一个posts_controller.rb
文件。
posts_controller.rb
文件中,定义一个接收POST请求的动作。例如,你可以创建一个名为create
的动作:
class PostsController < ApplicationController
def create
# 处理POST请求的逻辑
end
end
params
方法来获取请求参数。例如,如果你的POST请求包含一个名为title
的参数,你可以通过params[:title]
来获取它的值。
class PostsController < ApplicationController
def create
title = params[:title]
# 处理POST请求的逻辑
end
end
fetch
函数或者其他HTTP库来发送POST请求。以下是使用JavaScript的fetch
函数发送POST请求的示例代码:
fetch('https://your-rails-app.com/posts', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ title: 'Example Title' }),
})
.then(response => response.json())
.then(data => {
// 处理响应数据
})
.catch(error => {
// 处理错误
});
在上述代码中,将请求发送到Rails应用的/posts
路径,并将title
参数设置为Example Title
。
config/routes.rb
文件中,添加一个POST请求的路由,将其映射到PostsController
的create
动作。例如:
Rails.application.routes.draw do
resources :posts, only: [:create]
end
这将创建一个名为posts
的资源路由,只允许create
动作。
通过以上步骤,你就可以从静态站点向Rails应用发送POST请求了。在Rails应用的create
动作中,你可以根据需要处理请求参数,并执行相应的逻辑。记得根据实际情况进行适当的错误处理和安全性验证。
领取专属 10元无门槛券
手把手带您无忧上云