0

複数のコントローラーを含む Rails アプリがあります (Web サイトのさまざまなページ用)。通常のテキスト ページ用の 1 つのコントローラー、ギャラリーなど用の別のコントローラー。今、必要なのは、すべてのページの並べ替え可能なメニューです。

と呼ばれるモデルを作成しました。このモデルMenuItemsには、並べ替える必要があるすべてのモデルへの位置番号とポリモーフィックな関連付けがあります。

class MenuItem < ActiveRecord::Base
  belongs_to :sortable, :polymorphic => true
end

問題は、MenuItems の一部が関連するモデル インスタンス自体を指す必要があることです (show通常のテキスト ページのアクションのように)。しかしindex、メニューにアクション (ギャラリーの一覧ページなど) をリストする必要もあり、モデルとコントローラーに複雑で不明確なロジックを記述するか、別のフィールドを追加する必要があることを実装する必要がありますurl。管理者がこれらの URL を入力するためのインターフェイス。

私の経験からすると、レールで複雑な方法で何かを行うと、それは間違っています。しかし、最善のアプローチは何ですか?アプリケーションで複雑なメニューを通常どのように処理しますか?

4

1 に答える 1