С link_to_if
блоком для передачи фактически является else
.Внимательно изучите документацию, на которую вы ссылались.
В любом случае, использование link_to_if
также не решит проблему засухи.То, что вы хотите сделать, это использовать capture , чтобы назначить общий html переменной:
<% content = capture do %>
<p>Some html here</p>
<% end %>
<% if condition? %>
<%= link_to bla_bla_path do %>
<%= content %>
<% end %>
<% else %>
<%= content %>
<% end %>