私は少しの問題に遭遇しましたが、どうやってそれを得るのか分かりません。Railsアクティブレコード多態ネストされたリソースのナビゲーション
私たちは、例えば、私たちのデータモデルで多型のネストされたリソースの数を持っている:
宛先>宿泊施設>住所
宛先>アトラクション>住所
だから、アドレス・コントローラに到着することが可能です複数の親から。私はこれらを正しく関連付けることができ、また親の木をバックアップすることができる必要があります。
アドレスはこれらのケースでは同じモデルなので、 の私の最初の解決策は、ルートファイルにネストされたリソースを作成することでした。 私たちは、その後も、私たちのURLは次のように取得するときに、ブレッドクラム ナビゲーション事を提供するために、このネストを使用し始め:
はlocalhost:3000 /地/ 1 /宿泊施設/ 3 /アドレス/新しい
我々はできます分割してそれを使用して、パスを任意のレベルに戻すことができます。
私はまた、コントローラは、ジェネリックにするために、私はマップの親リソースがあるので、コントローラは、このような 見えるかうまく にネストされたリソースを使用:
def new
@parent = find_parent_model
if [email protected]?
@destination = @parent.destinations.new
を[...]
def find_parent
params.each do |name, value|
if name =~ /(.+)_id$/
return $1.classify.constantize.find(value)
end
end
nil
end
これは機能します。しかし、問題は、routes.rbファイルに1800行のネストされたリソースがあり、現在はレールアプリを起動するのに約5分かかっており、そこにはRAMの500MBを使用して が置かれています。 :S
誰もこれを行うのに狂気の方法を知っていますか?