Ruby on rails 使用重定向到使用http调用

Ruby on rails 使用重定向到使用http调用,ruby-on-rails,ruby,Ruby On Rails,Ruby,因此,在我的coffeescript文件中,我有一个HTTP.POST请求,它本质上调用控制器中的create方法来创建我的对象。之后,我想从创建页面重定向到编辑页面。我该怎么做呢 假设视图中有一个按钮在我的coffeescript文件中调用这个函数。这是咖啡脚本中的相关代码: # Assume data is a hash of parameters that is already provided via form in View. $http.post( "/ap

因此,在我的coffeescript文件中,我有一个HTTP.POST请求,它本质上调用控制器中的create方法来创建我的对象。之后,我想从创建页面重定向到编辑页面。我该怎么做呢

假设视图中有一个按钮在我的coffeescript文件中调用这个函数。这是咖啡脚本中的相关代码:

  # Assume data is a hash of parameters that is already provided via form in View.
  $http.post(
    "/apps/feature/role", data  # This should go to controller's create method via ROUTES
    ).then((response) ->
    ??? What do I type here?
这是我在控制器中的创建方法:

def create
    @role = ... # creating  role object
    if @role.save
        redirect_to edit_role_path(@role)
好的,问题是我的视图没有被重定向到编辑页面
role/id/edit
,它只是停留在
role/new
页面上。在http调用之后,我是否需要在我的coffeescript中执行某些操作,以便将其重定向到编辑页面

注意:我应该通过http调用来完成这项工作,所以在此我将非常感谢您的帮助!
提前谢谢

由于请求是从javascript应用程序触发的,而不是典型的表单提交,因此您的端点应该返回2**(非常理想),然后您可以使用
窗口在客户端重定向。location

谢谢!!但是在这种情况下,我需要在保存@roles对象后获取它的id,以便执行类似于
window.location=“apps/feature/role/”+id+“/edit”
,我怎么做呢?@kohrea您可以返回id(
@role.id
)在响应中,或在
位置
HTTP头中包含新角色对象的路径。请勾选类似问题: