我是Rails中的新手,我正在开发一个应用程序,需要以一种形式显示患者信息,以便在需要时由医生更新。我可以从侧边栏的列表中选择一个患者,我想首先显示一个空表格,当选择患者时,所有信息都会显示在其上。
我能猜到的唯一方法就是先将表格显示为空,然后在选择患者后,抓住控制器上的病人并重新加载页面以允许表格获取患者信息。
有没有人有更好的主意?在否定答案:我如何显示空表格?
提前感谢您的时间。
最好的问候。
更新:这是我要在网页上展示的表单。 @patient是一个实例变量,一旦显示页面尚未定义。一旦医生从侧面列表中选择一名患者,它就会显示出来。
<div class="row">
<div class="span6">
<%= render 'shared/error_messages' %>
<div>
<%= form_for(@patient) do |p| %>
<%= text_field_tag 'patient[name][]', nil, :placeholder => "name", :style =>height:12px;font-size:10px;" %>
<%= text_field_tag 'patient[name][]', nil, :placeholder => "surname", :style =>"height:12px;font-size:10px;" %>
<%= p.text_field :email, :placeholder => "email", :style => height:12px;font-size:10px;" %>
<%= p.text_field :phone, :placeholder => "phone", :style => height:12px;font-size:10px;" %>
<%= check_box_tag :active %>
<%= check_box_tag :sex, 'male' %>
<%= check_box_tag :sex, 'female' %>
<%= chack_box_tag :dao %>
<%= p.submit "Sumbit", class: "btn btn-small btn-primary pull-right", id: "boton" %>
<% end %>
</div>
</div>
</div>
这是问题所在。因为在控制器上@ patient = nil,因此选择了页面崩溃。
再次感谢。
答案 0 :(得分:1)
您在此处描述的是模型的基本控制器操作:
编辑:完成您提议的用户体验的新策略
组件1:现有患者的导航列表
link_to patient.name, edit_patient_path(patient)
组件2:不存在/新患者的空表
@patient = Patient.new
。 组件3:现有患者的填写表格
@patient = Patient.find(params[:id])
。 编辑:脚手架上的旧点
我强烈建议使用rails生成器和脚手架来设置基本表单和视图模板,至少作为一种教育追求。您将通过命令行自动生成正确的控制器操作,并查看上面为#new和#edit描述的模板。
阅读这篇文章:http://viget.com/extend/rails-3-generators-scaffolding
然后按照本教程:http://railscasts.com/episodes/216-generators-in-rails-3
随着您对Rails开发的熟悉程度越来越高,生成器和脚手架可能无法满足您的需求和定制需求。然而,它们是一个很好的起点。
另请参阅:http://guides.rubyonrails.org/getting_started.html#getting-up-and-running
答案 1 :(得分:1)
我认为,还有一个选择是您可以在表单上实例化对象:
<%= form_for(Patient.new) do |p| %>
由于