网址中的Rails患者ID在重新加载时消失

时间:2013-08-01 11:19:49

标签: ruby-on-rails ruby-on-rails-3

在我的患者控制器中,我定义了一个名为“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

感谢

1 个答案:

答案 0 :(得分:1)

您的erstellen行动应该对某位患者采取行动。因此它不是收集范围,它是成员范围。

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

然后

erstellen_patient_path(@patient)
  

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

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