所以我试图在rails中显示数据库中的所有患者。我预计关键字会出错。但就是在这里。
有什么建议吗?
/home/ubuntu/workspace/shc-pms/app/views/patients/index.html.erb:16:语法错误,意外的tSYMBEG,期待keyword_do或' {'或'('},方法:删除); @ output_buffer.safe_append =' ^
<div class="patients">
<% @patients.each do |patient| %>
<div class="patient">
<h3><%= link_to patient.name, patient_path(patient) %></h3>
<p><%= patient.age %></p>
<!--<p><%= patient.phone %></p>-->
<!--<p><%= patient.ailment %></p>-->
<!--<p><%= patient.appointment %></p>-->
<!--<p><%= patient.status %></p>-->
<ul class="patient-action">
<li><%= link_to "Edit", edit_patient_path(patient) %></li>
<li><%= link_to "Delete", patient_path(patient), data: {
confirm: "Are you sure you want to delete: #{patient.name}?",
}, method :delete %></li>
</ul>
</div>
<% end %>
</div>
答案 0 :(得分:2)
问题是散列键method
后面没有冒号。
将method :delete
替换为method: :delete
。
外围问题:删除调用以不寻常的方式跨行分割。它不会阻止ruby解释它,但它确实让它更难阅读。我建议将其更改为:
<li>
<%= link_to(
"Delete",
patient_path(patient),
data: {confirm: "Are you sure you want to delete: #{patient.name}?"},
method: :delete
) %>
</li>
对于如何做到这一点存在不同意见,但这是我的建议。