1

在我的患者控制器中,我定义了一个名为“erstellen”的动作,带有一个视图。该动作/视图是供医生为患者分配治疗的。因此,将 patient_id 传递给此操作非常重要。

在我的患者/显示页面中,我创建了此链接:

  <%= link_to('Erstellen', erstellen_patients_path(@patient), :class => "btn btn-small btn-info" ) %>

产生此输出的原因:

 http://localhost:3000/patients/erstellen.6

首先我不明白为什么有一个点而不是一个斜线?

第二个问题是,当我重新加载页面时,'.6' 消失了,因此无法将治疗分配给患者!

我的路线:

  post "patients/erstellen"

   resources :patients do
    collection do
     get :search2
     get :erstellen
   end
  end

谢谢

4

1 回答 1

1

你的erstellen行为应该作用于某个病人。因此,它不是集合范围,而是成员范围。

resources :patients do
  collection do
    get :search2
  end
  member do
    get :erstellen
  end
end

然后

erstellen_patient_path(@patient)

首先我不明白为什么有一个点而不是一个斜线?

您传递给收集操作的参数被识别为格式说明符,因为该路线不期望任何患者。

于 2013-08-01T11:23:20.433 回答