gpt4 book ai didi

ruby-on-rails - rails 发布请求

转载 作者:数据小太阳 更新时间:2023-10-29 07:54:06 24 4
gpt4 key购买 nike

我不太了解 Rails 中的请求是如何处理的,在我的 Controller 中,我有这样的东西:

def method_to_handle_request
# do stuff
end

然后在 View 中我有这个 JavaScript:

$.post("/", {method_to_handle_request: "value"}, function(data) {
// do something with data
});

这是错误的:JavaScript 中的 data 最终只是页面。因此,我的问题是:如何处理 Rails 中的请求?我一直在阅读“使用 Rails 进行敏捷 Web 开发”,那里的部分对我来说意义不大。谢谢

最佳答案

Rails 使用配置的路由指向适当的 Controller 操作。您必须在 config/routes.rb 文件中指定一个路由,以通过所需的操作发送您的请求。在您的 Controller 中,您已经定义了 method_to_handle_request。您必须确保为此定义了一条路线。在 routes.rb 文件中有很多方法可以做到这一点,这些在 this guide 中有详细记录。 .

然后在您的 method_to_handle_request 中,您应该将输出呈现/格式化为 JSON 或 XML 或您希望 View 使用的任何内容。如果你不这样做,你最终只会得到平面模板化的 HTML。这是一个 good resource用于渲染 View ,其中有一个特别是关于 JSON 的部分。

所以这里有一个简单的例子来说明我的意思:

在 config/routes.rb 中

resources :foos do
member do
post 'do_my_foo'
end
end

在 foos_controller.rb 中

def do_my_foo
foo = Foo.find(params[:id])
# do some things to poor ole foo
some_cool_data_about_foo = ...

respond_to do |format|
format.json { render :json => some_cool_data_about_foo }
end
end

然后,当您使用 ajax 调用它时,您将在处理程序中获得 JSON 化数据。

哎呀,我希望这就是你要问的......

关于ruby-on-rails - rails 发布请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7054174/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com