This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/89

将来的には修正される可能性がありますが、現状のRuby on Railsでは、

render_component :controller => 'entry', :action => 'show', :layout => false
のように、render_componentでlayoutをfalseに指定しても、layoutを無効化する事ができません (「render_component :layout => false doesn't work」参照)

そこで、render_compenentの呼び出し元のコントローラに応じて、レイアウトを自由に設定する方法を紹介します。この方法を使えば、render_componentでlayoutを無効化する事ができるようになります。

やりかたは、render_compenentから呼び出されるアクションの記述を以下のようにするだけです。

EntryController < ApplicationController
  def show
    case parent_controller
    when TopController; render :layout => false
    when RankingController; render :layout => 'ranking'
    end
  end
end
Ruby on Railsでは、render_componentからアクションが呼び出された場合、呼び出し元のコントローラがparent_controllerに設定されます。これを利用して、呼び出しもとのコントローラに応じてレイアウトを自由に変更することができます。

This article was migrated from http://rails.office.drecom.jp/takiuchi/archive/89

posted by genki genki on Sat 26 Aug 2006 at 05:02 with 0 comments
Contents rssrss
光ファイバーを二次元振動させて走査するAR用ディスプレイ
因果の取り違え
Swift2's defer for CoffeeScript
mongodb-3.0からcreateIndexのdropDupsが無くなったらしい
mongodb-3.0以降のWiredTigerの設定を動的に変更する方法
一般楕円の高速生成アルゴリズムへの道標
farro mantecatoのレシピ
Droonga関連の記事のまとめ
RuntimeErrorの特定のメッセージに限定してrescueする方法
jQueryでscriptタグを実行せずにappendする
Tags
coffeescriptdefergroongajsmemonodenodejs
Comments rssrss
https://casino-pinco.clients.site/ https://casino-pinco.clients.site/: Pinco Casino регистрация открыла доступ к крутому ... 04/14 21:54
https://moscowremontnik.ru https://moscowremontnik.ru: Слышал много положительных отзывов о Московском ... 04/14 19:08
https://mellstroy.at https://mellstroy.at: Hi there! This is my first visit to your blog! We ... 04/14 19:03
https://russ-remont.ru/ https://russ-remont.ru/: Очень толковая статья, сохраню себе. 04/14 18:45
https://russ-remont.ru/ https://russ-remont.ru/: Приятно видеть профессиональный подход к делу. 04/14 17:56
https://russ-remont.ru/ https://russ-remont.ru/: Ваши советы сэкономили мне кучу времени. 04/14 17:39
https://russ-remont.ru/ https://russ-remont.ru/: Русский Ремонт — отличный выбор для тех, кто ценит... 04/14 17:26
https://www.remontexpress.ru https://www.remontexpress.ru: Радует, что компания работает официально по догово... 04/14 17:20