0

我们有两个模型、区域和商店,我们希望它们运行在相同的路径上:www.mysite.com/the_name_of_the_thing_here

我们想要做的是通过区域表进行匹配以显示区域页面,如果没有匹配,则通过商店表并显示商店页面。我们不太确定将这个逻辑放在哪里(在区域控制器中?)以及如何切换控制器。有任何想法吗?

谢谢

4

1 回答 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 %>
于 2012-10-03T10:17:23.747 回答