我有一個組織模型,其中有一個屬性,稱爲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