我有一个广告模型。每个广告都属于一个区域。
为了尝试使用更具可读性的 URL,我在 routes.rb 中定义了一个自定义路径:
match "/adverts/:area_id/:id" => "adverts#show", :as => :advert_semantic
这会产生类似的东西
/adverts/manhattan/123
但是,在极少数情况下,广告可能未分配到某个区域。在这些情况下,Rails 会引发错误,并且不会呈现调用路径的页面。
我想通过检查广告是否首先分配了一个区域来解决这个问题,如果没有区域,则生成常规路径 (/adverts/123) 作为后备。
你会建议什么是最好的方法来做到这一点?例如,最好构建一个可以执行上述操作的辅助方法,或者如果在同一页面上多次调用该方法,这会对性能产生影响吗?