当用户注册我的网站时,他们会被重定向到“/ welcome”,其中包含以下链接:
<%= link_to "Create Band Page", bands_user_path %>
<%= link_to "Complete Profile", edit_user_path(current_user) %>
“完整档案”链接显示并正常运行。但是,页面不会显示“创建乐队页面”链接,并导致此错误:
No route matches {:action=>"bands", :controller=>"users"}
我在用户页面上有这个链接,并且工作正常。
我的users_controller包括这一位:
def bands
@band = current_user.bands.build
@bands = current_user.bands.all
@user = current_user
end
相关的routes.rb部分如下所示:
resources :users do
member do
get :following, :followers, :bands
end
end
match '/welcome', to: 'static_pages#welcome'
正如我之前所说,当我在用户的节目页面上使用该链接时,它工作正常,并且rake路由包括相应的链接:
bands_user GET /users/:id/bands(.:format) users#bands
我在这里缺少什么?
答案 0 :(得分:0)
你没有传递给你想要显示乐队的用户。
您的路线与/users/:id/bands(.:format)
匹配。格式是可选段(括号的含义),但:id
是必需的。它希望您传入有效的user_id或用户对象以从。
试试<%= link_to "Create Band Page", bands_user_path(current_user) %>
,它应该有用。