24324


現在、自分のDBには住所がタイトルのように全部分けられています。  
あれを普通の住所のように画面に表示したいんですが、細かいところが難しいです。

一応、自分の現在のコードは下記のようになっています。

[code]

    address = object.Prefecture + object.City + object.Town + object.Choume.to_s + object.Banchi.to_s + object.Gou.to_s
    
[/code]

ですが、このままだったら丁目、番地、号の間に「-」がないので、「-」を入れたいのですが、  
丁目、番地、号の中で一つや２つしかない場合を考慮しなければならなくて困っています。  
考慮しないと行けない場合は下記のとおりです。  
3-5-10 (全部ある場合)  
3-5 （丁目と番地だけある場合）  
5 （番地だけある場合）  
5-10 （番地と号だけある場合）

これを考慮し「-」を入れた住所を表示できるように効率のいいコードを作成していただきたいです。


CC BY-SA 3.0
2016-04-25T01:59:18.393
24320
2016-04-25T05:27:22.797
2016-04-25T05:27:22.797
76
10710
question
ruby
DBに都道府県丁目番地号にわけられていた住所を一つにまとめる方法。


丁目などが無い場合には `nil` になっている`(object.Choume == nil)`、という前提であれば、以下の様にすると良いかと思います。

[code]

    address = object.Prefecture + object.City + object.Town +
              [object.Choume, object.Banchi, object.Gou].compact.join("-")
    
[/code]


CC BY-SA 3.0
2016-04-25T03:07:19.190
24324
2016-04-25T03:07:19.190
24320
answer