路由存在时路由错误

时间:2011-05-17 05:58:06

标签: ruby-on-rails ruby-on-rails-3 routing routes

加载页面时出现此路由错误:

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

发生了什么,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

如果你将一个nil对象传递给你的url帮助器,你会看到这个错误。检查current_user.profile在此行中不是nil:

profile_path(current_user.profile)