2012-03-01 10 views
1

私はRailsには新鮮ですが、頭を抱えることはできません。基本的なレール - link_toの動作とレンダリングとの置き換え

私は、のlink_toヘルパーメソッドを使用してリンクを持っている:[リンク

<%= link_to("Link", {:controller => 'gitrevision_download', :project_id => @project.id, :rev => @rev}) %> 

は新しいページに私を取り、gitrevision_downloadコントローラインデックスメソッドを呼び出します。私がやりたいことは、そのインデックステンプレートを既にリンクされているテンプレートの中にレンダリングすることです。

編集:この機能が動作していないことがわかったリンクが呼び出された後にデータが表示され、ルートハンドラが正しいコントローラにリダイレクトされている必要があります。

私が必要とするのは、別のコントローラから、そのコントローラからインデックスビューをレンダリングすることです。それは悪い習慣ですか?

+0

私はこれを行う最善の方法はlink_to with:remote => trueで、ビューをレンダリングし、javascript –

答えて

5

Railsの機能の説明のための最良の場所はthe documentationです。それは本当に驚くほどうまくいった!

は、より直接的にあなたの質問に答えるために:

  1. 最初のパラメータは、あなたがおそらく推測てきたように、リンクの名前です。
  2. 2番目のパラメータは、リンク先を作成するためにRailsのURLジェネレータに渡されます。ハッシュを渡すことで、特定のコントローラのURLとそのコントローラ内のアクションを生成するようにRailsに指示します。代わりに、名前付きのURLヘルパー(submissions_pathなど)を渡すこともできます。
  3. 3番目のパラメータはHTMLオプションで、要素に直接追加されます(クラスやタイトルの割り当てなど)。<a class="specified-classes" title="specified-title" ...>などと表示されます。
関連する問題