0

問題なく足場を作りました

$ railsは足場を生成します新しい名前:文字列タイトル:文字列コンテンツ:テキスト

移行を実行するためのRakeコマンド(以前のように問題はなく、テーブルは正しく作成されました)

$ rake db:migrate

app / views / home/index.html.erbを編集します

<%= link_to'マイニュース'、:controller =>'ニュース'%>

「http:// localhost:3000」にホームとリンクが正しく表示されます。「マイニュース」ページのリンクをクリックすると、「http:// localhost:3000/news」がエラーなしで読み込まれます。

ここで、Railsによって生成されたリンク「NewNew」をクリックします。リンクのターゲットlocalhost:3000 / news / new(ソース「<ahref = "/ news / new"> New New </a>」)、このエラーを読みました:

ルーティングエラー

{:action => "show"、:controller => "news"、:format=>nil}に一致するルートはありません

利用可能なルートの詳細については、レーキルートを実行してみてください。

「app/views / news / index.html.erb」のリンクソースは、

<%= link_to'New New'、new_news_path%>

ルート.rbで私は読んだ

MyApp :: Application.routes.draw do

リソース:ニュース

「ホーム/インデックス」を取得

  • Rails 3.2.3
  • Ruby 1.9.3p125
  • MySQL 5.5
  • Windows764ビット

熊手ルート:

news_index GET / news(.: format)news#index

POST / news(.: format)news#create

new_news GET / news / new(.: format)news#new

edit_news GET / news /:id / edit(。:format)news#edit

news GET / news /:id(.: format)news#show

PUT / news /:id(.: format)news#update

DELETE / news /:id(.: format)news#destroy

home_index GET /home/index(.:format)home#index

ルート/ホーム#インデックス

よろしくお願いします。英語でごめんなさい

4

1 に答える 1

1

news_index_pathレールが単数形を作成できない場合、ニュースは単数形ではないため、使用する必要があります-複数形_indexは最後に追加されます:)

あなたには1つと複数がnewsありnews、これは紛らわしいです。

常に<name_of_resource>_pathURLを生成するために使用してみてください:)

news_index GET /news(.:format) news#index

これは暗黙的であると言います.1つの部分を使用し、そのパスを取得するためにnews_index追加します._path

あなたが持っている必要があります

<%= link_to 'My News', news_index_path %>

お役に立てば幸いです、乾杯!

于 2012-04-26T15:08:57.037 に答える