我想在一些代码周围包装一个条件 link_to,只有在满足以下条件时才会呈现链接:IF current_user.type == 'Agent'
.无论如何,仍然需要呈现条件中的内容。
我当前的块看起来像这样:
<% @jobs_published.in_groups_of(3, false) do |job| %>
<div class="row">
<%= link_to "/job/#{job.id}" do %>
<div class="panel">
<h4>Job</h4>
<p><%= job.suburb %></p>
<p><%= job.street_name %></p>
<p><%= job.post_cide %></p>
</div>
<% end %>
</div>
<% end %>
最佳答案
我通过执行以下操作解决了这个问题:
看法:
<% @jobs_published.in_groups_of(3, false) do |job| %>
<div class="row">
<%= link_to_if current_user && current_user.type == 'Agent', { controller: "agents", action: "job", :id => job.id } do %>
<div class="panel">
<h4>Job</h4>
<p><%= job.suburb %></p>
<p><%= job.street_name %></p>
<p><%= job.post_cide %></p>
</div>
<% end %>
</div>
<% end %>
应用助手:
def link_to_if(*args,&block)
args.insert 1, capture(&block) if block_given?
super *args
end
引用:https://stackoverflow.com/a/25916594/2811283
关于ruby-on-rails - 如果条件满足,则 Rails 中的条件 link_to block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28019603/