2013-10-09 90 views
0

我想做像http://domain:3000/users/id/edit/details。我已经在app> views> users> details.html.erb下创建了一个新动作。此外,在UsersController我把:做耙路时丢失助手路径

def details 
    .... 
end 
当我运行 rake routes

,我上了左侧为GET,/users/:id/edit/details(.:format),用户#详细缺少助手路径/ URL 。

此外,在routes.rb中,我有:

resources :users 

我尝试插入:

match "users/:id/edit/details", to: 'users#details', via: 'get' 

但还是老样子didnt解决我的问题。请帮帮我!

+0

当你运行'耙routes'你得到了什么? – dax

+0

为什么不使用'编辑'动作和视图?这是什么是由资源创建的:用户行... – Swards

+0

@dax我得到了空路径/users/:id/edit/details(.:format) – AmirolAhmad

回答

0

在路线,你会想这样做:

resources :users do 
    get :details 
end 

在这里,你会有先进的形式。此网址将是

/users/:id/details/ 

检查耙路线,看看里面有什么。

您可能需要另一个更新的方法(表单POST操作)来处理的高级形式

0

你所寻找被称为嵌套资源

resources :users do 
    resources :details 
end 

看看http://guides.rubyonrails.org/routing.html#nested-resources更多信息

+0

以下添加一个答案仍然没有解决我的证明..或者这是正常的吗? 1. rake routes [before](http://i.imgur.com/WgNfH7D.png) 2. rake routes [after](http://i.imgur.com/faeEFpE.png) 它显示:user_id这是我不知道它来自哪里。 – AmirolAhmad

+0

user_id是您正在查看/编辑/删除其详细信息的用户的ID。如果你想生成你可以做的路径(我想)'user_detail_path(@user,@detail)' – Magnuss