Ruby on rails 如果满足条件,则在Rails中阻塞条件链接
我想将一个条件链接包装在一些代码周围,这些代码仅在满足以下条件时才会呈现链接:ifRuby on rails 如果满足条件,则在Rails中阻塞条件链接,ruby-on-rails,link-to,Ruby On Rails,Link To,我想将一个条件链接包装在一些代码周围,这些代码仅在满足以下条件时才会呈现链接:ifcurrent\u user.type==“Agent”。条件中的内容仍然需要渲染,无论如何 我的当前块如下所示: <% @jobs_published.in_groups_of(3, false) do |job| %> <div class="row"> <%= link_to "/job/#{job.id}" do %> &l
current\u 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.type == 'Agent', "/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 %>
工作
有许多条件链接到元素
,我通过执行以下操作解决了此问题:
视图:
参考资料:谢谢您的回答@rajarshi das。我已经尝试了上面的解决方案,但是它在块内没有输出任何内容。上面的解决方案呈现如下:
所以我尝试了:
,href现在是正确的,但是块中没有任何内容仍然显示!您必须像这样使用
谢谢,但它仍然不会在我的块中呈现任何内容,例如作业我也不需要它呈现任何字符串。它只需要一个HREFI。如果您当前的用户类型是“代理”,请查看/调试它是什么给予
谢谢,伙计。请参阅上面的我的评论,这不符合预期。@ThomasTaylor,因此您希望呈现块内的内容,但不是作为链接,而是与内容一起呈现的简单跨距。谢谢,但链接到如果是,我想呈现块内的所有内容,我只想将其包装在条件href中。
<% @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