2011-08-09 6 views
1

私はページapp/views/new/news.html.erbを持っています。私は単に私のレイアウト/ application.html.erbからこのページにリンクしたいと思っています。助けてもらえますか?私は今朝、これと闘ってきました。単純なlink_to in rails

私は<%= link_to "News"のようなものを試しましたが、そこからどこに行くのかは分かりません。

+0

scaffoldを使用してビューを生成しましたか、手動で行いましたか? –

答えて

2

あなたはセットアップにそれを持っている場合、正しくお使いのコントローラのための複数の(代わりに新しいのすなわちニュース)を有するべきであり、次のように動作するはずです:あなたは、このトピックのガイドをチェックアウトすることができますように

サウンズ:

<%= link_to 'News', :controller => "news", :action => :news %> 

これは足場を使用していることを前提としています。

このフォルダとページを手動で追加する場合:動的ページの場合は、コントローラにアクションを作成する必要があります。静的ページの場合は、パブリックフォルダに配置する必要があります。

4

ビューにリンクしていない場合は、そのビューをレンダリングするコントローラにリンクします。次に、そのコントローラのURLルーティングを配線するために、routes.rbにエントリが必要です。 newsControllerという名前のコントローラにindexというメソッドがあり、routes.rbにresources :newsのようなエントリがある場合は、次のlink_toが動作するはずです:link_to "News", news_path

明確でない場合は、NewsControllerのインデックスメソッドにrender :newsが必要です。 http://guides.rubyonrails.org/routing.html

0

は、必ずtxtファイルにすべてのルートのリストをダンプしますアプリケーションディレクトリ内

rake routes > routes.txt 

を、実行することができます。アクションとコントローラにつながるパスを選択し、link_toメソッドのパラメータとして指定します:)