0

has_many :portfolios と各ポートフォリオ has_many :pictures を持つ User モデルがあります。私のルートは次のようになります。

resources :users do
  resources :portfolios do
    resources :pictures
  end
end

次に、次のような新しいポートフォリオを作成しようとします。

<%= link_to "new portfolio...", new_user_portfolio_path(current_user) %>

次のようなフォームを使用します。

<%= form_for [current_user, @portfolio], html: { class: "form_settings" } do |f| %>
...
<% end %>

しかし、「新しいポートフォリオ...」をクリックすると、URLに次/users/12/portfolios/newのエラーが表示されます。

No route matches {:action=>"show", :controller=>"portfolios", :user_id=>#<User id: 12, name: "michael", password_digest: "d787f56b080945c1ec0b3343cbf962ca427bb8ef", remember_token: "dL4nPlt0E5azUMemNIvkdg", admin: false, created_at: "2013-03-03 01:18:19", updated_at: "2013-03-03 19:56:28">, :id=>#<Portfolio id: nil, user_id: 12, name: nil, created_at: nil, updated_at: nil>}
4

1 に答える 1

0

ポートフォリオを作成するためのフォームからエラーが発生しているとは思いません。写真などを追加するには、ページにリンクが必要ですが、/portfolios/newこれが失敗しています (ポートフォリオが新しいレコードであるため)。

ページにいるときは、このリンクを非表示にする必要がありnewます。

于 2013-03-04T16:35:30.167 に答える