我正在尝试将提供者添加到患者列表。例如,患者可以有许多提供者。没用我的代码可能是错误的,但会有所帮助。
"SELECT " +
"tbl_607_gaz_type.gaz_type," +
"tbl_607_theorical_content.theorical_content," +
"tbl_607_made_tolerance.made_tolerance," +
"tbl_607_order_details.gaz_lifetime," +
"tbl_607_gaz.gaz_comments," +
"tbl_607_order_details.FK_ID_order," +
"tbl_607_order_details.poste_number, " +
"tbl_607_order.order_number" +
"FROM " +
"tbl_607_provider join tbl_607_order on tbl_607_provider.ID = tbl_607_order.FK_ID_provider " +
"join tbl_607_order_details on tbl_607_order.ID = tbl_607_order_details.FK_ID_order " + // note the missing space added here
"join tbl_607_gaz on tbl_607_order_details.FK_ID_gaz = tbl_607_gaz.ID " +
"join tbl_607_gaz_type on tbl_607_gaz.FK_ID_gaz_type = tbl_607_gaz_type.ID " +
"join tbl_607_made_tolerance on tbl_607_gaz.FK_ID_made_tolerence = tbl_607_made_tolerance.ID " +
"join tbl_607_theorical_content on tbl_607_gaz.FK_ID_theorical_content = tbl_607_theorical_content.ID " +
"WHERE " +
"tbl_607_order.order_number" + " LIKE " + "'%" + selectedOrder + "%'";
这是我Patient_controller.rb文件中的方法
<% @providers.each do |provider| %>
<div class="item" data-email="<%=provider.role.user.email%>" data-name="<%=provider.role.user.first_name%> <%=provider.role.user.last_name%>">
<div class="d-inline-block">
<p class="name"><%= provider.role.user.first_name %><%= " " + provider.role.user.middle_name if provider.role.user.middle_name %><%= " " + provider.role.user.last_name %></p>
<p class="name"><span>Professional Title: </span><%= provider.professional_title if provider.professional_title %></p>
</div>
<div class="d-inline-block float-right">
<%= link_to patient_add_provider_path(@patient, provider_join: @patient.id, provider_id: provider.id), method: :post, :data => {:confirm => 'Are you sure you want to add this site?'} do %> ####THIS IS WHAT CURRENTLY IS NOT WORKING(link_to)
<button class="btn-submit">Add</button>
</div>
</div><!--item-->
<% end %>
这是我的架构文件
def add_provider
flash[:modal]
@patient = current_user.current_role.roleable
@provider = Provider.find(params[:provider_id])
@provider_join = Provider_join.where(
:provider_id => params[:provider_id]).first_or_create do |provider_join|
provider_join.provider = params[:provider_id]
end
@provider_join.soft_delete = false
if @provider_join.save
flash[:success] = "You have successfully added a physician to your list"
redirect_back(fallback_location: root_path)
else
end
end
最后但并非最不重要的是,这是我在控制台中收到的错误
create_table "provider_joins", id: false, force: :cascade do |t|
t.bigint "provider_id"
t.bigint "patient_id"
t.boolean "soft_delete", default: false
t.index ["patient_id"], name: "index_provider_joins_on_patient_id"
t.index ["provider_id"], name: "index_provider_joins_on_provider_id"
end