我们有两个模型、区域和商店,我们希望它们运行在相同的路径上:www.mysite.com/the_name_of_the_thing_here
我们想要做的是通过区域表进行匹配以显示区域页面,如果没有匹配,则通过商店表并显示商店页面。我们不太确定将这个逻辑放在哪里(在区域控制器中?)以及如何切换控制器。有任何想法吗?
谢谢
我们有两个模型、区域和商店,我们希望它们运行在相同的路径上:www.mysite.com/the_name_of_the_thing_here
我们想要做的是通过区域表进行匹配以显示区域页面,如果没有匹配,则通过商店表并显示商店页面。我们不太确定将这个逻辑放在哪里(在区域控制器中?)以及如何切换控制器。有任何想法吗?
谢谢
我认为您可以为此使用控制器操作,例如
@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 %>