7

ルートにそのように表示されるネストされたリソースがあります。

resource :reviews do
  resource :entries
end

次のような新しいエントリパスへのリンクを作成しようとしています。

<%= link_to "New Entry", new_review_entry_path(@review) %>

残念ながら、私はこのエラーメッセージを受け取り続けます:

undefined method `new_review_entry_path' for #<#<Class:0x5150d78>:0x483c798>

レーキルートを確認したところ、ルートは次のように複数形にする必要があることがわかりました。

new_reviews_entries_path(@review)

残念ながら、それを行うと、奇妙なURLが表示されます。

/reviews/entries/new.1

明らかに、それも機能しません。ここで何が起こっているのか分かりますか?

4

1 に答える 1

7

それresourcesは、ではありませんresource。あなたの最初の試みは正しいものでした;)

resources :reviews do
    resources :entries
end

resourceリソースが「一意」の場合に使用する必要があります。たとえば、ユーザーが1つのプロファイルを持っている場合、次のようにします。

resources :users do
    resource :profile
end
于 2013-01-20T22:48:13.490 に答える