加载页面时出现此路由错误:
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
这是怎么回事,我该如何解决这个问题?
如果要将 nil 对象传递给 url 帮助程序,则会看到此错误。检查 current_user.profile 在此行中是否为 nil:
profile_path(current_user.profile)