每当我使用job_medium_path
时,都会收到此路由错误:
ActionController::RoutingError Exception: No route matches {:action=>"show", :controller=>"media"}
然而,当我使用rake routes
时,它清楚地表明该路径有一条路线:
job_medium GET /jobs/:job_id/media/:id(.:format) {:action=>"show", :controller=>"media"}
此外,在媒体控制器中定义了show动作。
此控制器的其他路径和路径完美运行,包括:
job_media GET /jobs/:job_id/media(.:format) {:action=>"index", :controller=>"media"}
new_job_medium GET /jobs/:job_id/media/new(.:format) {:action=>"new", :controller=>"media"}
当我在页面上调用路径时,我使用:job_medium_path(@mediumable, @media)
并收到此错误:
Routing Error
没有路线匹配{:action =>“show”,:controller =>“media”,:job_id => [所有工作信息都在这里]}
此处还有行动:
def show
@medium = @mediumable.media.find(params[:id])
end
答案 0 :(得分:0)
您必须提供作业和媒体ID,如下所示:
job_medium_path(@job, @medium)
答案 1 :(得分:0)
存在@job
和@medium
,请尝试以下操作:
job_medium_path(job_id: @job.id, id: @medium.id)