Ruby on rails 4 Rails路由/c/old/?id=x到重定向到/c/new/x
有人能告诉我如何定义一个Rails 4.2路由,它可以重定向Ruby on rails 4 Rails路由/c/old/?id=x到重定向到/c/new/x,ruby-on-rails-4,routing,Ruby On Rails 4,Routing,有人能告诉我如何定义一个Rails 4.2路由,它可以重定向 observer/show\u obs?id=xto observer/show\u observation/x我从未直接使用rails路由,而是通过服务器完成。我正在使用nginx服务器,并为路由添加了proxy\u pass location = /observer/show_obs { proxy_http_version 1.1; proxy_set_header X-Real-IP $remote_addr; proxy_s
observer/show\u obs?id=x
to
observer/show\u observation/x
我从未直接使用rails路由,而是通过服务器完成。我正在使用nginx服务器,并为路由添加了proxy\u pass
location = /observer/show_obs {
proxy_http_version 1.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Host $host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_cache_bypass $http_upgrade;
proxy_pass http://serverName.com/observer/show_observation;
proxy_redirect off;
}这个想法很有趣,但对我的情况没有帮助。那么简单地重定向到不同操作(相同控制器,相同参数)的路由呢,即
observer/show\u obs?id=x
到observer/show\u observation/?id=x
从控制器操作重定向始终是一个选项,但我认为这不是一个好主意。如果它“始终是一个选项”,请告诉我怎么做。我的意思是,您可以有一个与路由相对应的控制器操作:observer/show\u obs?id=x
,该操作将请求重定向到路由observer/show\u observation/?id=x
,由另一个控制器操作处理。感谢您的澄清。但是定义的控制器动作show_obs
正是我试图避免的——我希望通过路由来实现。