Rails在视图中显示属性的自定义标签

时间:2016-11-07 15:58:09

标签: ruby-on-rails

我确信这已经被问到了,这很容易,但我真的不知道要搜索什么来寻找解决方案。

如果我在1,-1,2 -1 = sale1 = purchase等列表中有值,那么如何显示购买而不是1或销售而不是-1?

数据库表stockmovements列名reason

3 个答案:

答案 0 :(得分:1)

你可以这样做:

<% if stockmovement == 1 %>
 purchase
<% elsif stockmovement == -1 %>
 sale
<% end %>

答案 1 :(得分:1)

在你的表格文件中你应该放置:

<td>
  <% case stockmovement %>
  <% when 1 %>
    "purchase"
  <% when 2 %>
    "sale"
  <% end %>
</td>

答案 2 :(得分:1)

每当我遇到这种情况时,我都会在模型中创建一个readable_method。

在你的模型类中添加如下方法:

def readable_reason
    case reason
    when -1
        "sale"
    when 1
        "purchase"
    end
end

然后在您看来,

<td>stockmovement.readable_reason</td>

它使我的视图文件更具可读性。此外,我不必在要显示case-when的每个视图中复制reason