首页 > 解决方案 > 我看不到错误值,但看不到整个 url

问题描述

我有布尔值“已批准”。一旦我在 link_to 之后将其添加为参数,它就会向我显示整个 url 而不是 false 值。真正的价值工作正常。你知道哪里有问题吗?

在此处输入图像描述 在此处输入图像描述

<tr>
    <td><%= adminpage.email %></td>
    <td><%= adminpage.first_name %></td>
    <td><%= adminpage.last_name %></td>
    <td><%= adminpage.level %></td>
    <td><%= adminpage.approved %>
    <td><%= link_to adminpage.approved, approve_user_url(adminpage.id), method: :put %></td>
    <td><%= if adminpage.approved then "Approved" else "Waiting for approval" end %></td>
</tr>

标签: ruby-on-railsruby

解决方案


link_to第一个参数必须是真实的,否则它只显示原始 URL。false不是削减它。考虑:

link_to admin_page.approved.to_s, ...

我倾向于这样解释:

link_to admin_page.approved ? 'Yes' : 'No', ...

在这种特殊情况下,就像您希望整个链接是有条件的,更像是这样:

<%- if admin_page.approved -%>
  <%= link_to 'Yes', ... %>
<%- else -%>
  No
<%- end -%>

推荐阅读