【问题标题】:Rails HTML Multi Layered IF checkingRails HTML 多层 IF 检查
【发布时间】:2021-09-16 18:56:42
【问题描述】:

我正在处理需要对数据库进行几次检查的布局,但我无法弄清楚 IF 语句的逻辑。我有一个People 表,其中每条记录都包含一个Position 字段。有时,特定职位将由两个人担任。在这种情况下,他们想成为联合职位。所以我目前在我的页面上列出了所说的位置:

<li>
    <% @people.each do |person| %>
        <% if person.position == 'Office1' %>
            <div class="image">
                <%= link_to(person_path) do %>
                    <%= image_tag("profiles/#{person.uname}S.jpg") %>
                <% end %>
            </div>
            <div class="body2">
                <h4>Office</h4> 
                <%= link_to(person_path) do %>
                    <h5><%= person.fname %> <%= person.lname %></h5>
                <% end %>
            </div>
        <% end %>
    <% end %>
</li>

现在我需要在&lt;h4&gt;Office&lt;/h4&gt; 运行检查以查看另一条记录是否包含Office2,但是如果我在H4 标记周围放置一个IF 语句,它会检查已经获取的记录还是会检查检查整个 Person 数据库?我需要先做这个检查,然后做一个 IF/Then 还是可以用更简化的方式来做?

基本上我需要检查 Office2 是否存在于 Position 字段中,如果是我需要 H4 来读取 Co-Office,否则我需要它来读取 Office。

【问题讨论】:

    标签: ruby-on-rails ruby if-statement ruby-on-rails-6


    【解决方案1】:

    如果你的条件是if person.position.include?('Office2') 那么不,它不会再次触及数据库。 person 对象加载了它的所有属性。

    【讨论】:

    • 这就是我的想法,所以我需要做一个分支 IF/THEN 语句并在我用 Office1 加载记录之前先检查它吗?还是有更好的方法来做到这一点?
    • 目前还不清楚您要做什么。如果你用你需要的逻辑更新代码,它会更清晰。具体来说,“在我用 Office1 加载记录之前”这句话似乎不适合……
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-01
    • 2012-09-17
    • 1970-01-01
    • 2015-04-26
    相关资源
    最近更新 更多