2012-10-03 44 views
0

我们有两个型号,地区和商店,这是我们要跑出相同的路径:www.mysite.com/the_name_of_the_thing_here的Rails 3.1多个控制器的一个路径

我们希望做的是经过区域表格显示区域页面,如果不匹配,则通过商店表格显示商店页面。我们不太确定把逻辑放在哪里(在区域控制器中?)以及如何切换控制器。有任何想法吗?

感谢

回答

1

我认为你可以使用该控制器的动作,像

@area = Area.find_by_name(params[:name]) 
@store = Store.find_by_name(params[:name]) 
if @area 
    redirect_to area_path(@area) 
elsif @store 
    redirect_to store_path(@store) 
else 
    redirect_to help_url 
end 

的东西,如果你想改变的内容只会让您在其中定义变量其他控制器的方法:

@thing = Area.find_by_name(params[:name]) || Store.find_by_name(params[:name]) 

并通过它查看

<%= thing.name %> 
+0

嗨亚历克斯,谢谢你。一个问题:如果路径是完全相同的,这会不会在循环中结束? – user1051849

+0

看到更新.... – alex

+0

嘿又。不幸的是,这需要应用程序重定向到每个模型的不同路径。我想这样做没有重定向...我需要它检查“the_name_of_the_thing_here”对第一个模型,然后服务该模型的视图,如果有匹配,或者如果匹配只是第二个模型服务于第二个模型的视图.. – user1051849