Rails link_to,除非其他地方链接

时间:2016-02-22 01:49:55

标签: ruby-on-rails

所以我现在有这个

<%= link_to 'Compare', event_path(event.id), class: "btn btn-info" %>

简单链接,没什么特别的。

然而,我想要做什么,是当用户点击按钮进行比较时,如果event.id在column_a中有一个值,它将重定向到/eventinfo/(data value inside column_a).html.erb

我该怎么做?

目前这是一个从searchkick填充的结果页面,如果这有帮助吗?

萨姆

1 个答案:

答案 0 :(得分:1)

link_to仅构建链接;你需要自己实现这个逻辑。 event.id是一个数字,因此column_a中没有值 - 我假设您column_a上存在event

<%- if event.column_a.present? -%>
  <%= link_to 'Compare', eventinfo_path(event.column_a) %>
<%- else -%>
  <%= link_to 'Compare', event_path(event.id) %>
<%- end -%>

对于干净的模板或重用,您可以将此逻辑放入辅助方法中,该方法可生成整个链接或选择所需的URL。