hotel_type.rb
class HotelType < ActiveHash::Base
self.data = [
{ id: 1, name: '選択して下さい' },
{ id: 2, name: '宿泊施設ではない' },
{ id: 3, name: 'ホテル' },
{ id: 4, name: '旅館' },
{ id: 5, name: 'コテージ' },
{ id: 6, name: 'メゾネット' },
{ id: 7, name: 'アネックス' },
{ id: 8, name: '民泊' },
{ id: 9, name: 'キャンプ' },
{ id: 10, name: '農家民泊' },
{ id: 11, name: '国民宿舎' },
{ id: 12, name: '休暇村' },
{ id: 13, name: 'その他' }
]
include ActiveHash::Associations
has_many :model
end
このように宿泊施設ではない
を選んだ時-
が出るようにしたいなと思い、条件分岐を使って表示させました。
最初から { id: 2, name: '-' }
こうしろよと意見があると思いますが意味があってこのようにしたのでご了承下さい・・・
#やった事
-
宿泊施設ではない
を選んだ時、-
が表示される -
それ以外は通常通り表示される
この事から条件分岐が必要とする事が分かりました。
<% if 条件式%>
<p>-</p>
<%else%>
<%= @model.hotel_type.name %>
<% end %>
こんな感じになると思います。
#結論
ActiveHashは数字がDBに保存されます。なので数字で条件式を作ります。
.rb
if @model.hotel_type_id == 2
この条件式ではhotel_type_id
のidが2だった場合という形になります。