あなたの質問の用語は少し混乱しています。がコントローラー内にあり、別のコントローラーの別のアクションメソッドでコードを実行してそのテンプレートをレンダリングする場合は、そのアクションにredirect_toする必要があります。他のコントローラーがContractsControllerと呼ばれているとしましょう
redirect_to :controller => "contracts", :action => "show_home_page"
アクションからの応答として別のメソッドのビューテンプレートを使用するだけの場合は、renderパラメーターでコントローラーの名前のプレフィックスを付ける必要があります。これはアクションを呼び出さず、テンプレートを使用するだけです。
たとえば、テンプレートがコントラクトコントローラーのフォルダーにある場合です。
render :action => "/contracts/show_home_page", :layout=> false
この場合、あなたは実際にパーシャルについて話していると思います。
render :partial => "/contracts/show_home_page"
ただし、ここで把握しているのは、実際には複数のアクションメソッドを呼び出して1つのページをレンダリングしたいということです。これはそれがどのように機能するかではありません。テンプレートが1回のアクションで参照するオブジェクトを設定する必要があります。これが、ほとんどのRails開発者がモデルに多くのコードを配置する理由の1つであるため、セットアップがコントローラー全体で繰り返されることはありません。
しかし、別の方法があります... JavaScriptの魔法が登場します。
ページで、次のような関数を作成します。
<script type="text/javascript" language="javascript">
function load_categories() {
<%= remote_function(:url => {:controller => "categories", :action => "list"},
:update => "categories")%>
};
</script>
ページのonloadでもこれを呼び出すと、参照されているアクションからの応答でid"categories"のdivが置き換えられます。