Ruby on rails 如何从Rails控制器调用另一个控制器#带有参数的操作(不是重定向)
我想支持vanity_URL,目前正在使用重定向,这很好,但更愿意调用控制器/操作/参数,如注释掉的部分:Ruby on rails 如何从Rails控制器调用另一个控制器#带有参数的操作(不是重定向),ruby-on-rails,ruby-on-rails-3.2,Ruby On Rails,Ruby On Rails 3.2,我想支持vanity_URL,目前正在使用重定向,这很好,但更愿意调用控制器/操作/参数,如注释掉的部分: class VanityUrlController < ApplicationController def index item=VanityUrl.where('url=?',params[:url]).first if item.urlable_type=='Location' location=Location.find(item.urlabl
class VanityUrlController < ApplicationController
def index
item=VanityUrl.where('url=?',params[:url]).first
if item.urlable_type=='Location'
location=Location.find(item.urlable_id)
redirect_to location_show_path(item.urlable_id)
# would like something like this
#call controller_name: locations, action: show, params: {id: item.urlable_id}
end
end
class VanityUrlController
这可能吗?谷歌给了我一大堆重定向sol'n,但我宁愿不重定向。如何做到这一点
thx您看过这一个吗?有两种解决方案可以做到这一点—(1)将所需的方法逻辑提取到一个单独的文件中,并从两个位置调用它;(2)创建另一个控制器的实例并在该实例上调用方法(似乎代码更少,但概念上更混乱)thx,嗯。。。那些看起来有点不舒服-我希望有更优雅一点的东西(那是5年前的)。