不确定是怎么回事,或者提供者ID为什么返回零,并且仅在尝试呈现provider_ Patient_access_path时才返回零。我向提供商添加了新页面,因此它应该是localhost:3000 / providers / id / Patient_access
<!-- PROVIDERS SIDE MENU -->
<%= link_to provider_patient_access_index_path(@provider.id) do %>
<div class="side-menu-item">
<div class="side-menu-icon" data-id="<%= @provider.id %>"><div id="side-menu-icon-search"></div></div>
<div id="side-menu-item-text-patient-profiles" class="side-menu-item-text">Patient Access</div>
</div><!--side-menu-item-->
<% end %>
<!-- ROUTES -->
resources :providers do
resources :patient_access, only: [:index]
end
<!-- PROVIDERS_CONTROLLER -->
class PatientAccessController < ApplicationController
def index
@provider = Provider.find(params[:provider_id])
@active_patients = @provider.lists
authorize @provider
end
end
end
答案 0 :(得分:2)
设置了这些路线后,路径将为:
/providers/:id/patient_access(.format)
由于这个原因,params[:provider_id]
返回nil
,因为没有提供,但是params[:id]
应该返回正确的值。
您可以通过访问开发环境中不存在的URL /路由来检查路由。例如http://localhost:3000/asdf。或者,您可以使用以下命令将它们输出到终端:
bundle exec rails routes
有关路由的更多详细信息,请参阅指南Rails Routing from the Outside In。