Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails路由重定向_Ruby On Rails - Fatal编程技术网

Ruby on rails RubyonRails路由重定向

Ruby on rails RubyonRails路由重定向,ruby-on-rails,Ruby On Rails,当我们谈论铁路线路时,我想我不是专家 我有两个控制器。一个用于web操作,另一个用于api操作。Web控制器名为“Story”,Api控制器也名为“Story”,但位于其他位置“Api/v1/Story” 在web story controller中有一个名为“下载故事”的方法。两个控制器的路由为(config.rb): 问题是“如何从api控制器和参数一起调用web控制器操作(下载故事)” 我尝试的是: // Api controller routing namespace :api, def

当我们谈论铁路线路时,我想我不是专家

我有两个控制器。一个用于web操作,另一个用于api操作。Web控制器名为“Story”,Api控制器也名为“Story”,但位于其他位置“Api/v1/Story”

在web story controller中有一个名为“下载故事”的方法。两个控制器的路由为(config.rb):

问题是“如何从api控制器和参数一起调用web控制器操作(下载故事)”

我尝试的是:

// Api controller routing
namespace :api, defaults: {format: 'json'} do
  namespace :v1 do
    get '/download/:id', to: redirect('/stories/download_story/%{id}')
  end
end
正在重定向到Web控制器的“/stories/download_story”。但我向以下机构发出请求:

'curl 'localhost:3000/api/v1/download/1'
它只给我一个简单的回答。答复是:

<html><body>You are being <a href="http://localhost:3000/stories/download_story/:id">redirected</a>.</body></html>
您正在被删除。

之后什么都没有。它没有真正重定向。

解决了这个问题。应按照以下方式进行:

get '/download/:id', to: '/story#download_story

这将重定向到故事控制器的下载操作。

您可以重定向
重定向到下载故事路径(params)
此外,我认为您有一个拼写错误
下载路径
,而不是
下载故事
@DeepakMahakale,已经尝试过了。不起作用。两个原因:->参数不可接受。->它不应该被重定向而不是重定向到?
get '/download/:id', to: '/story#download_story