ruby-on-rails - 如果条件满足,则 Rails 中的条件 link_to block

标签 ruby-on-rails link-to

我想在一些代码周围包装一个条件 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/

相关文章:

ruby-on-rails - 在 Rails 中制作条件 link_to 语句?

ruby-on-rails - Rails 5 - 如何创建自定义脚手架生成器?

ruby-on-rails - 嵌套资源的 Link_to 路由问题

ruby-on-rails - 带有内联样式的Rails link_to

javascript - Rails - 使用 AJAX 通过 link_to 设置 session 变量

ruby-on-rails - Rails 3 - 链接到 :remote, 更新地址 URL

javascript - Rails 4 中不执行 Ajax 响应

javascript - Jquery:点击操作之前确认

javascript - 如何在 Rails 应用中单击 link_to 标签后使用 JS 刷新浏览器

ruby-on-rails - Rails 调用模型上的特定操作