добавление поставщика к пациенту - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь добавить поставщиков в список пациентов. Например, у пациентов может быть много поставщиков. Это не работает. Мой код может быть неправильным, но любая помощь будет оценена.

<% @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 %>

Вот метод, который у меня есть внутри моего файла Patient_controller.rb

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

и, наконец, что не менее важно, вот ошибка, которую я получаю в консоли

ActionView::Template::Error (undefined method `id' for nil:NilClass):
     6:                         </div>
     7:
     8:                         <div  class="d-inline-block float-right">
     9:                                 <%= 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 Physician?'} do %>
    10:                          <button class="btn-submit">Add</button>
    11:                          <% end %>
    12:
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...