質問

フォローした後、 チュートリアル 見つけました。より良く学ぶために、足場の部分を除いてもう一度やり直しています。

ただし、\app\views\home\index.html.erb を編集して次の内容を含めます。

<h1>Rails test project</h1>
<%= link_to "my blog", posts_path>

エラーが発生します:

undefined local variable or method `posts_path' for #<ActionView::Base:0x4e1d954>

これをする前に、私は走った rake db:create, 、移行クラスを定義して実行しました rake db:migrate, 、すべて問題なく。

したがって、データベースにはpostsテーブルが含まれている必要があります。でもあの link_to コマンドが見つからないようです posts_path. 。その変数 (あるいは関数でしょうか?) は、おそらく scaffold ルーチンを通じて定義されます。

私の今の質問は次のとおりです。自分で手動で行うにはどうすればよいですか、定義します posts_path?

役に立ちましたか?

解決

あなたはconfig/routes.rbにあなたの記事へのパスを定義する必要があります。

のRails 2.xの構文ます:

map.resources :posts

のRails 3.xの構文ます:

resources :posts

他のヒント

_path方法は、動的に、典型的に生成されます。あなたが明示的に呼び出しているメソッドを指定したか、この場合、オブジェクトへのルートがない場合の方法欠け誤差は約来ます。

この問題を解決すべきルートを定義します。これを実行する1つの方法を示した上でHermanDます。

あなたが設定されているすべてのルートを確認するためにあなたのレールのアプリのルートから「すくいルート」を実行することができます。

<%= "私のブログ" へのリンク、投稿_パス>

これが erb に含まれている内容とまったく同じである場合、スクリプトレット要素の末尾にパーセント記号がありません。それが問題の原因なのか、それとも私が物事を文字通りに捉えすぎているのかわかりません...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top