#ruby-on-rails #ruby-on-rails-3 #routing #routes
#ruby-on-rails #ruby-on-rails-3 #маршруты
Вопрос:
Я получаю эту ошибку маршрутизации при загрузке страницы:
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:
Если вы передаете объект nil своему помощнику URL, вы увидите эту ошибку. Убедитесь, что current_user.profile не равен нулю в этой строке:
profile_path(current_user.profile)