Я имею дело с вложенными маршрутами, и я почувствовал что-то не хватает, я получаю эту ошибку:Вложенные ресурсы Рельсы маршрут не совпадает с ID = ноль
No route matches {:action=>"edit", :controller=>"consultations", :id=>nil, :patient_id=>#<Patient id: 2 ...
Маршруты:
resources :patients, shallow: true do
resources :consultations
end
рейк-маршруты | Grep консультации
patient_consultations GET /patients/:patient_id/consultations(.:format) consultations#index
POST /patients/:patient_id/consultations(.:format) consultations#create
new_patient_consultation GET /patients/:patient_id/consultations/new(.:format) consultations#new
edit_consultation GET /consultations/:id/edit(.:format) consultations#edit
consultation GET /consultations/:id(.:format) consultations#show
PATCH /consultations/:id(.:format) consultations#update
PUT /consultations/:id(.:format) consultations#update
DELETE /consultations/:id(.:format) consultations#destroy
Модели:
class Patient < ActiveRecord::Base
belongs_to :medic, :foreign_key => :medic_id
has_many :consultations, :dependent => :destroy
accepts_nested_attributes_for :consultations
end
class Consultation < ActiveRecord::Base
belongs_to :patient, :foreign_key => :patient_id
end
Вид:консультации/index.html.erb
<% @patient.consultations.each do |consultation| %>
<%= link_to 'Edit', edit_consultation_path(patient_id: @patient, id: @consultation) %> <---ERROR
<%= link_to 'Show', consultation(patient_id: @patient, id: @consultation) %> <---ERROR
<%= link_to 'Destroy', consultation, method: :delete, data: { confirm: 'Are you sure?' } %> <---ERROR
<% end %>
Am I передавая неправильные параметры edit_consultation_pat h (patient_id: @patient, id: @consultation)?
Любые идеи? заранее спасибо!
редактировать:
Контроллер: контроллер/consultations_controller.rb
def index
@patient.consultations = Consultation.all
end
вы можете показать свой контроллер? особенно действие индекса? –