使用实例变量的属性作为链接

时间:2017-09-27 01:08:54

标签: ruby-on-rails

我目前有一个具有表格的患者模型的索引视图:

<% @patients.each do |patient| %>
  <tr>
    <td><%= patient.id %></td>
    <td><%= patient.created_at.strftime("%Y-%m-%d") %></td>
    <td><%= patient.user.name if patient.user %></td>
    <td><%= patient.staff_clinician.name if patient.staff_clinician %></td>
    <td><%= patient.concerns.map(&:name).to_sentence %></td>
    <td><%= patient.genders.map(&:name).to_sentence %></td>
    <td><%= patient.races.map(&:name).to_sentence %></td>
    <td><%= patient.insurances.map(&:name).to_sentence %></td>
    <td> <%= patient.referral_requests.last.created_at.strftime("%Y-%m-%d") if patient.referral_requests.last%> </td> 
   <td><%= link_to "Show", patient %></td>
    <td><%= link_to "Edit", edit_patient_path(patient) %></td>
    <td><%= link_to "Remove", patient, method: :delete, data: { confirm: "Are you sure?" } %></td>
  </tr>
<% end %>
</table>

对于本专栏:

<td> <%= patient.referral_requests.last.created_at.strftime("%Y-%m-%d") if patient.referral_requests.last%> </td>

如果患者存在推荐请求,我想显示created_at的日期时间,并将其作为该推荐请求的超链接。

如果患者不存在推荐请求,我想显示&#34;创建&#34;并链接以创建新的推荐请求。

我尝试将整个语句嵌套在link_to语句中,但似乎无法正确使用。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

您可以使用link_to_if

<%=
   link_to_if(patient.referral_requests.try(:last).nil?, "Create", { controller: "referral_requests", action: "new" }) do
     link_to(patient.referral_requests.last, { controller: "referral_requests", action: "show", id: patient.referral_requests.last.id})
   end
%>

更多细节link_to_if。我希望这会对你有所帮助。