以下は、私が必要としていたものの適切な説明ではないことがわかりました。このすべての調査を通じて、私が尋ねるべきだった質問をする方法を見つけました。新しい投稿:こちら. 他の誰かに利益をもたらす場合に備えて、この質問を残してください。
blog.prefix
複数の「ブログ」を有効にしてサイトを構築していますが、 fromのようなものを取得できると便利な場合がありますconfig.rb
。set
変数を使用してインスタンス変数を使用できることは知っていますがconfig.rb
、それはテンプレートで、自分がどのブログにいるのかを知る必要があり、問題が解決しないことを意味します。(すべてのブログに 1 つのレイアウトが必要であり、それぞれに 1 つのレイアウトが必要です。)
blog.prefix
およびその他のアクティベーション変数を取得して、次のconfig.rb
ようなレイアウトで使用する方法はありますか?
<p>The blog prefix is: <%= blog.prefix %></p>
アップデート
page do
ブロックにインスタンス変数を渡そうとしましたが、ページをレンダリングlocals => { :variable = value }
するときに と の両方を使用しました。Error: cannot find _auto_layout
私は最初にこれをミドルマン フォーラムに投稿しましたが、Stackoverflow の方が注目される傾向があります。:-D
更新 2
それぞれに個別の変数 (たとえばblog1_prefix
、blog2_prefix
、 、およびblog3_prefix
) が必要な場合は、テンプレートからどの変数を呼び出しているかを知る必要があります。接頭辞 (または何でも) を取得しているブログを知るために、テンプレートが必要です。
私のconfig.rb
中には、次のようなブロックがあります。
my_blogs = ["blog1", "blog2", "blog3"]
my_blogs.each do |my_blog|
activate :blog do |blog|
blog.prefix = my_blog
end
end
上記の例のように、レイアウトがどのブログで呼び出されているかをレイアウトが認識できるようにする 1 つの変数を設定する方法はありますか。
<p>The blog prefix is: <%= blog.prefix %></p>
これは、1 つのレイアウトから 3 つのブログのそれぞれにレンダリングされます。
<p>The blog prefix is: blog1</p>
<p>The blog prefix is: blog2</p>
<p>The blog prefix is: blog3</p>