出品者テーブルから、住所と商品写真を地図に表示させたい
すみません、初投稿となります。
初めてのオリジナルアプリ作りで、JavaScriptに不慣れながらもGoogleMapAPIに挑戦した結果詰まってしまい、
何かしら知恵をお借り頂ければ幸いです。
今回はgooglemapAPIを使うときのテーブル設計があっているのかについて相談したく思います。
現在オリジナルアプリとして、
企業(Exhibitions)が商品(Items)を出品し、お客さん(customers)が買う(purchases)アプリを作っています。出品された商品はお客さんが購入し、直接お店に取りに行くので、GoogleMapAPIで表示すれば面白いと思い取り入れようとしています。
その際、「商品が出品されたらGoogleMapにお店が表示される。さらにmapのお店をクリックするとmap上に出品した商品の写真や情報が表示される。商品が売れた場合は商品はmapに表示されない。全て売れたらお店も表示されない」ような機能にしたいです。
#####確認したいこと
DB設計の確認
キータを調べると、地図に投稿する時に住所を入力することでマーカーを付けるのはよく見かけます。
ですので、自分はマーカーを使って実装しようかと思うのですが、
他(例Exhibitions)テーブルに住所を持っている例は見当たりませんでした。
その場合、今回だったら商品(Items)テーブルに住所カラムを付けることになるのでしょうか。
自分的には、mapにお店が表示され、クリックすることで商品もmapに出力するようにしたいのですが、、、
やはり変えるべきなのでしょうか。DB設計についてご意見いただければ幸いです。
頑張って初の自分のアプリを完成させてみたいので、どうかお力添えお願いします。
######現在入れているAPI
JavaScript API
Geocoding API
テーブル設計
README
1## customers テーブル 2購入者 お客さん デバイスから作成 3| Column | Type | Options | 4| -------- | ------ | ----------- | 5| nickname | string | null: false | 6| email | string | null: false | 7~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 8住所の欄 「prefectures_id」 はactive::hashで47都道府県に指定 9| postal_code | string | null: false | 10| prefectures_id | integer| null: false | 11| city | string | null: false | 12| city_number | string | null: false | 13| building_name | string | | 14| purchase_id | integer| null: false,foreign_key: true | 15 16### Association 17- has_many :items 18- has_many :purchases 19 20 21## items テーブル 22 23| Column | Type | Options | 24| ------ | ------ | ----------- | 25| price | integer | null: false | 26| text | text | null: false | 27| department_id | integer | null: false | 28| item_status_id | integer | null: false | 29| customer_id | integer | foreign_key: true | 30| exhibition_id | integer | not:null,foreign_key: true | 31 32### Association 33- belongs_to :customer 34- has_one_attached :image 35- has_one :purchase 36- belongs_to :exhibition 37 38 39## image テーブル 40| Column | Type | Options | 41| ------ | ---------- | ---------------- | 42| image | text | null: false | 43 44## purchases テーブル 45購入テーブル 取引 46| Column | Type | Options | 47| ------- | ---------- | ------------------------------ | 48|customer_id | integer | null: false,foreign_key: true | 49|items_id | integer | null: false,foreign_key: true | 50 51### Association 52- belongs_to :customer 53- belongs_to :item 54 55## Exhibitionテーブル 56出品者 お店・企業 デバイスから作成 57| Column | Type | Options | 58| -------- | ------ | ----------- | 59| company_name | text | null: false | 60~~~~~~~~~~~~~~~~~~~~~~~~~ 61住所の欄 「prefectures_id」 はactive::hashで47都道府県に指定 62| postal_code | string | null: false | 63| prefectures_id | integer| null: false | 64| city | string | null: false | 65| city_number | string | null: false | 66| building_name | string | | 67 68### Association 69- has_many :items
補足情報(FW/ツールのバージョンなど)
ruby 2.6.5
Rails 6.0.3.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/17 02:41
2020/09/17 03:51 編集
2020/09/17 08:15
2020/09/17 14:26