首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >条件Rails视图

条件Rails视图
EN

Stack Overflow用户
提问于 2014-11-10 20:21:52
回答 1查看 61关注 0票数 0

下面的代码正在迅速成为我的rails应用程序中的常见主题。我的视图中有一堆条件,用于处理空数据,以及管理网格的推拉。这只会随着我开始添加其他3个状态而增长。我的问题是。在视图或控制器中优雅地管理我的网格的最佳方式是什么,这样我的视图就不会随着条件的变化而变得越来越臃肿?

代码语言:javascript
复制
<% if @jobs.where(status: 'published').size == 0 %>
  <div class="row">
    <div class="large-12 columns">
    </div>
  </div>
<% end %>
<% if @jobs.where(status: 'published').size == 1 %> 
  <div class="row">
    <div class="large-4 push-8 columns">

    </div>
  </div>
<% elsif @jobs.where(status: 'published').size == 2 %>
  <div class="row">
    <div class="large-4 push-4 columns">
    </div>
  </div>
<% else %>
  <% @jobs.in_groups_of(3, false) do |row| %>
    <div class="row">
      <% for job in row %>
        <div class="large-4 medium-4 columns">

        </div>
      <% end %>
    </div>
  <% end %>
 <% end %>
EN

回答 1

Stack Overflow用户

发布于 2014-11-10 20:46:27

我认为你应该使用switch case语句来管理多个条件。

代码语言:javascript
复制
 @status = @jobs.where(status: 'published').size

<% case @status %>
 <% when 0 %>
  <div class="row">
    <div class="large-12 columns">
    </div>
  </div>
 <% when 1 %>
  <div class="row">
    <div class="large-4 push-8 columns">
    </div>
  </div>
 <% when 2 %>
  <div class="row">
    <div class="large-4 push-4 columns">
    </div>
  </div>
 <% else %>
  <% @published_jobs.in_groups_of(3, false) do |row| %>
    <div class="row">
      <% for job in row %>
        <div class="large-4 medium-4 columns">

        </div>
      <% end %>
    </div>
  <% end %>

<% end %>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26843729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档