加载页面时出现此路由错误:
ActionController::RoutingError in Videos#index
Showing /rubyprograms/dreamstill/app/views/layouts/application.html.erb where line #26 raised:
No route matches {:action=>"show", :controller=>"profiles"}
指的是这一行:
<%= link_to "Profile", profile_path(current_user.profile), :class => 'normal' %>
然而,路由存在是因为我在我的路线中有这个:
resources :profiles do
get 'activity', :on => :member
get 'shown_songs', :on => :member
end
我在个人资料控制器中执行了此操作:
def show
@profile = Profile.find(params[:id])
end
发生了什么,我该如何解决这个问题?
答案 0 :(得分:2)
如果你将一个nil对象传递给你的url帮助器,你会看到这个错误。检查current_user.profile在此行中不是nil:
profile_path(current_user.profile)