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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

2349閲覧

Rails 緯度経度をAPIで取得しても、小数点以下がDBに入らない。

el__ninja

総合スコア12

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2017/04/26 08:06

楽天トラベルAPIで施設の緯度情報を取得し、DBに保存しようとしています。
DBへの保存自体はできるのですが、小数点以下の値が入りません。
float型, decimal型両方で試しましたが、入りません。

DBの型は

ruby

1create_table :hotels do |t| 2 t.float :lat 3 t.float :lon 4end

また、

ruby

1create_table :hotels do |t| 2 t.decimal :lat, precision: 10, scale: 8 3 t.decimal :lon, precision: 9, scale: 6 4end

上記2つで試しました。

保存コード(データ取得までのながれは省略してありますが、保存は成功します。)

ruby

1@data_hash = { 2 "lat" => value['latitude'], 3 "lon" => value['longitude'] 4} 5puts "ok" if Hotel.create(@data_hash).valid?

API取得元URLデータ例です。アプリケーションIDは楽天会員であれば取得できるので、置き換えてください。
https://app.rakuten.co.jp/services/api/Travel/HotelDetailSearch/20131024?hotelNo=2345&applicationId=アプリケーションID&datumType=1

DBをみると整数での値になってしまします。
どなたかご教授頂けますでしょうか...?

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

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

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

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

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

guest

回答1

0

自己解決

rails cでのコンソールを再起動することで、無事ちゃんとデータが表示されました。。
値は入っていたが、コンソールが古い状態だったためにうまく反映されていないようでした。。

投稿2017/04/26 13:29

el__ninja

総合スコア12

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問