2

部分レンダリングの新機能が常に機能するとは限らない理由がよくわかりません。たとえば、次のコードを使用します。

= render(:partial => "pages/#{foo}/data")

pages/_data.html.erb存在しない場合、パーシャルにフォールバックすることはpages/test/_data.html.erbありません。どうすればこの動作を取得できますか?

4

2 に答える 2

2

あなたができることは次のとおりです。

= render(:partial => "pages/#{foo}/data") rescue render(:partial => "pages/data")

しかし、誰かがより良い解決策を持っているかどうかに興味があります.これは、特にパーシャルに渡す変数がある場合はエレガントではありません. 少なくとも、ヘルパーによって処理された方がよい場合があります。

于 2011-10-28T22:14:50.600 に答える
0

私の理解では、パーシャルはレンダリングする HTML の小さな独立したチャンクではなく、より一貫した方法でコードを編成するために使用できる抽象化の断片です。

私が見ているように、パーシャルは、ファイルが乱雑にならないように 1 つまたは複数の場所で使用するために作成されます。パーシャルは、単に単独でレンダリングするために使用されるのではありません。しかし、私は間違っている可能性があります。

于 2011-10-28T22:45:02.663 に答える