質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

450閲覧

mapメソッドで出力した値を一つにまとめたい

jun3030

総合スコア16

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2020/08/04 08:25

前提・実現したいこと

mapメソッドで出力した値を一つにまとめたいです

該当のソースコードを出力すると都道府県の配列が二つ出力されます。その配列を一つにまとめこのような形にしたいです。
["千代田区", "中央区", "港区", "千代田区", "中央区", "港区", "新宿区", "台東区"]

お忙しい中申し訳ありませんが、何か良い方法はないでしょうか?汗

該当のソースコード

ruby

1少々ややこしいですが以下のコードを出力すると 2 3<% @masseurs.each do |masseur| %> 4 <%= ranges = masseur.business_trip_ranges.pluck(:city_id).map {|id| City.find_by(id: id).name } %> 5<% end %> 6 7結果 8 9["千代田区", "中央区", "港区"]["千代田区", "中央区", "港区", "新宿区", "台東区"] 10

試したこと

sumメソッドを使いました <% @masseurs.each do |masseur| %> <% ranges = masseur.business_trip_ranges.pluck(:city_id).map {|id| City.find_by(id: id).name } %> <%= ranges.sum %> <% end %> 結果 千代田区中央区港区千代田区中央区港区新宿区台東区

上記の結果を配列にできれば良かったのですが失敗しました。

index番号で配列同士を足せないか試しました。 <% @masseurs.each do |masseur| %> <% ranges = masseur.business_trip_ranges.pluck(:city_id).map {|id| City.find_by(id: id).name } %> <%= ranges[0] + ranges[1] %> <% end %> 結果 千代田区中央区 千代田区中央区

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こういうのはviewに書かずcontrollerやmodelに書いたほうが良いように思うのですが、、、

<% @masseurs.each do |masseur| %> <%= ranges = masseur.business_trip_ranges.pluck(:city_id).map {|id| City.find_by(id: id).name } %> <% end %>


["千代田区", "中央区", "港区"]["千代田区", "中央区", "港区", "新宿区", "台東区"]
となったというのは、@masseurs が2要素だということですね?

@ranges = @masseurs.map do |masseur| masseur.business_trip_ranges.pluck(:city_id).map {|id| City.find_by(id: id).name } end.flatten

投稿2020/08/04 11:37

winterboum

総合スコア23347

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問