私はorg_type
という属性を持つ組織モデルを持っています。私の組織形式では、組織タイプが大学、大学、その他の組織であるかどうかを指定するようユーザーに求めます。私のショーページでは、組織タイプが大学または大学の場合はテキストを表示したいと考えています。Rails 4 - if文またはif文
私はそのいずれかの機能を動作させることができません。私はちょうどそのような以下のように、1つの組織の種類を確認するように依頼した場合、それが正常に動作します:
<% 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
Pavlingの答えは優れています。これが私のやり方です。 ["University"、 "College"]。?(org_type)をインクルードするか、Institutions.where(:type => [.. ..]のような配列をあらかじめ構築しておくと、 ....])。select(:type).collect {| i | i.type}既存のレコード –
@margoまたはOrganizationモデルのSubClassesから構築されたリストを必要とする場合、条件付きをtypeに置き換えます。しかし、一歩一歩:-) – Pavling