Rails多个嵌套资源编辑链接而不添加主资源

时间:2013-04-19 17:33:01

标签: ruby-on-rails ruby ruby-on-rails-3 polymorphic-associations nested-resources

我正在使用多个嵌套资源:

  resources :users do
    resources :clients do
      resources :positions
    end
  end

  resources :clients
  resources :positions

在我的模型和控制器中一切正常并且设置正确但我似乎无法弄清楚为什么这个编辑位置链接没有将用户添加到方法名称中。

<%= link_to 'Edit Position', edit_polymorphic_path([@user, @client, @position]) %>

仅输出:edit_client_position_path

而不是:edit_user_client_position_path

好像没有考虑:user_id,但是如果我从http://127.0.0.1:3000/users/1/clients/1/positions/1的展示页面删除了修改链接,则网页会成功加载。非常感谢任何见解!


更新

我设法以前所未有的方式获得几乎的链接。我修改了我的路线文件,如下所示:

  resources :users do
    resources :clients do
      resources :positions
    end
  end

  resources :clients do
    resources :positions
  end

  resources :clients
  resources :positions

它现在链接到/clients/1/positions/1/edit而不是/users/1/clients/1/positions/1/edit,所以我认为我走在了正确的轨道上。我知道有人评论说要寻找答案,所以希望这会有所帮助。

1 个答案:

答案 0 :(得分:0)

尝试

edit_user_client_position_path(@user, @client, @position)