###前提・実現したいこと
Railsでseedデータを作成しています。
regionと、regionとbelongs_toの関係にある、countryというテーブルに対して操作を行っています。
もっと短くかけるようなコードはどのようにかけますでしょうか。
###該当のソースコード
ruby
1regions = ["asia", "north america", "oceania"] 2asia = ["Japan","China","Korea"] 3north_america = ["Bermuda","Canada","Greenland","Saint Pierre and Miquelon","United States"] 4oceania = ["Australia","Fiji","French Polynesia","Guam","Kiribati","Marshall Islands"]
世界の地域名の配列とその地域に所属する国の配列がある。
これを・・・。
ruby
1regions.each do |elem| 2 Region.create(name: elem) 3end
と実行した後に、
ruby
1asia.each do |elem| 2 Country.create(name: elem, region_id:1) 3end
ruby
1north_america.each do |elem| 2 Country.create(name: elem, region_id:2) 3end
以下省略。
地域毎にeach文を回しています。
これでも目的は果たせるのがですが、何度も同じ内容でeachしているので、かっこ悪いですし、
もっと短くかけたらと思います。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。