代码之家  ›  专栏  ›  技术社区  ›  Mike Glaz

嵌套管线中的一条管线不起作用

  •  0
  • Mike Glaz  · 技术社区  · 12 年前

    我有一个用户模型,它有_many:公文包,每个公文包都有_many:图片。我的路线是这样的:

    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>}
    
    1 回复  |  直到 12 年前
        1
  •  0
  •   Robin    12 年前

    我不认为错误来自创建投资组合的表单。上必须有一个链接 /portfolios/new 页面添加图片或类似的东西,这就是失败的地方(因为投资组合是一个新的记录)。

    当你在 new