我有一个组织模型,其中有一个属性,称为org_type
。在我的组织形式中,我要求用户指定他们的组织类型是大学,学院还是其他类型的组织。在我的演出页面中,如果组织类型是大学或大学,我想显示一些文本。Rails 4 - 或者如果声明
我不能得到任何或功能的工作。如果我只是要求检查一个组织类型,下面例如,它工作正常:
<% if @organisation.org_type == 'University' %>
如果我要求任何组织类型,它显示一切即使在测试组织是“其它”:
<% if @organisation.org_type == 'University' or 'College' %>
上述不起作用。它显示组织类型为“其他”的文本。
任何人都可以看到我做错了什么吗?
进一步沿着可维护的代码路径走一步,最好提取uni_or_college中使用的常量?方法转换成适当的常量,然后可以引用它。 HIGHER_EDUCATION =%w(大学学院)。 def uni_or_college ?; HIGHER_EDUCATION.include? org_type;结束。 – margo
帕夫林的回答非常好。这也是我所做的。我用它们来写......如果[“大学”,“大学”]。包括?(org_type)......或预制像Institutions.where(:type => [.. ....])。select(:type).collect {| i | i.type}如果我想从现有记录 –
@margo构建的列表或组织模型的子类 - 将条件替换为类型。但一次一步:-) – Pavling