私は基本的な CMS を使用しており、その中でクロスコントローラー レンダリングを多用しています。
class Index < E
map '/'
# some actions
def ad
@steroids = render_p('anabolic-steroids/ads/left-banner')
# some logic
end
end
Steroids
クラス:
class Steroids < E
map 'anabolic-steroids'
# actions
end
フォルダを表示:
view/
|
- anabolic-steroids/
|
- ads/
|
- left-banner.erb
# other templates
すべて正常に機能していますが、顧客はanabolic-steroids
URL の名前を次のように変更することを希望しています。steroids
これを機能させるために、Steroids
クラスを再マップしました:
map :steroids
view/anabolic-steroids/
フォルダの名前を に変更しましたview/steroids/
。
また、Steroids
コントローラーは新しい URL でうまく機能します。
しかし今、ステロイド広告をレンダリングしていた他のすべてのコントローラーが壊れています:(
そして、それが使用されているすべての場所を見つけて名前を変更する必要があります
render_p('anabolic-steroids/ads/left-banner')
に
render_p('steroids/ads/left-banner')
奇数!
このようなクロスコントローラーレンダリングを使用している場所は他にもたくさんあります。
このような無害な名前変更要求が顧客から来た場合、無駄なリファクタリングを回避する方法はありますか?